防止 Jupyter Notebooks 更改 cwd

Akh*_*air 5 python jupyter-notebook jupyter-console

我的文件夹结构是这样设置的:

- project/
  - notebooks/
    - notebook1.ipynb
  - src/
    - module1.py
    - __init__.py
  - data/
    - data.csv
Run Code Online (Sandbox Code Playgroud)

这样我就可以将我的源代码与实际分析分开。我希望能够从中导入模块src并在其中使用它们notebook1,但是每当我打开时notebook1,Jupyter 决定将我的工作目录更改为 inside notebooks

这使我的导入更难维护,因为我必须相对于 Jupyter 的心血来潮导入东西 - 有什么方法可以修复cwdproject,无论我打开什么文件?

我浏览了文档和我的~/.jupyter/jupyter_notebook_config.py, 文件,但没有发现任何可以帮助我的东西。

编辑:我不想在每个脚本的顶部使用os.chdircd

谢谢你的帮助

Lou*_*ies 0

首先,我认为你的意思是cwd,pwd是 的简写print working directory,而cwd是 的简写current working directory。本质上,pwd打印cwd. 只是一个小术语问题!

其次,您始终可以自己手动更改笔记本顶部的目录:

import os
os.chdir("../")  # or manually specify project - whichever you prefer
Run Code Online (Sandbox Code Playgroud)

我不认为有任何方法可以自动更改默认行为 - 也许在笔记本 git repo 上打开一个问题是一个好主意?https://github.com/jupyter/notebook