Hacktoberfest 2026:维护者为十月标记出来的 issue,仍然开放、适合新手。 浏览 Hacktoberfest issue

FileNotFoundError in demo_prepare.ipynb

未关闭
#154 1 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
2/5
预计耗时
1-3 小时
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
docker, jupyter-notebook, python

调研方向

从 notebooks/demo_prepare.ipynb 开始,并在 Dev Container 中重现单元格 5。检查 traceback 中提到的 example_data/raw 和 example_data/processed 路径,并确认 repository Instructions 中预期的数据下载步骤。EphysRecording.populate 在没有 FileNotFoundError 的情况下完成,即表示完成。

由索引模型根据 Issue 内容生成。

描述

bug

Bug Report

Description

The repo's Instructions say: "We recommend you start by navigating to the notebooks directory on the left panel and go through the demo_prepare.ipynb".
When executing code cell 5 in that notebook

populate_settings = {"display_progress": True}

ephys.EphysRecording.populate(**populate_settings)

a FileNotFoundError occurs.

Reproducibility

Repository environment created with Dev Containers extension.
Navigate to demo_prepare.ipynb notebook, select kernel and execute code.
Error stack:

Output exceeds the [size limit](command:workbench.action.openSettings?[). Open the full output data [in a text editor](command:workbench.action.openLargeOutput?5cae5363-0515-4d6b-9fe4-f0979c9a6448)
---------------------------------------------------------------------------
FileNotFoundError                         Traceback (most recent call last)
Cell In[5], line 3
      1 populate_settings = {"display_progress": True}
----> 3 ephys.EphysRecording.populate(**populate_settings)

File /usr/local/lib/python3.9/site-packages/datajoint/autopopulate.py:241, in AutoPopulate.populate(self, suppress_errors, return_exception_objects, reserve_jobs, order, limit, max_calls, display_progress, processes, make_kwargs, *restrictions)
    237 if processes == 1:
    238     for key in (
    239         tqdm(keys, desc=self.__class__.__name__) if display_progress else keys
    240     ):
--> 241         error = self._populate1(key, jobs, **populate_kwargs)
    242         if error is not None:
    243             error_list.append(error)

File /usr/local/lib/python3.9/site-packages/datajoint/autopopulate.py:292, in AutoPopulate._populate1(self, key, jobs, suppress_errors, return_exception_objects, make_kwargs)
    290 self.__class__._allow_insert = True
    291 try:
--> 292     make(dict(key), **(make_kwargs or {}))
    293 except (KeyboardInterrupt, SystemExit, Exception) as error:
    294     try:

File /usr/local/lib/python3.9/site-packages/element_array_ephys/ephys_acute.py:291, in EphysRecording.make(self, key)
    289 def make(self, key):
    290     """Populates table with electrophysiology recording information."""
...
     43     "No valid full-path found (from {})"
     44     " for {}".format(root_directories, relative_path)
     45 )

FileNotFoundError: No valid full-path found (from [PosixPath('/workspaces/workflow-array-ephys/example_data/raw'), PosixPath('/workspaces/workflow-array-ephys/example_data/processed')]) for subject5/session1
Expected Behavior

The data should be downloaded first then used to populate the database.

主要语言
Jupyter Notebook
星标
10
派生
44
PR 合并指标
30 天内没有已合并 PR

环境准备

在 Codespaces 中打开

在浏览器里用你自己的 GitHub 账号启动这个项目的开发容器。

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

datajoint/element-array-ephys 的其他 Issue

查看 datajoint/element-array-ephys 的全部 Issue

相似的 Issue

更多 Data Engineering Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。