防止Jupyter笔记本改变cwd

时间:2017-03-27 14:37:25

标签: python jupyter-notebook jupyter-console

我的文件夹结构如下所示:

- project/
  - notebooks/
    - notebook1.ipynb
  - src/
    - module1.py
    - __init__.py
  - data/
    - data.csv

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

这使得我的导入难以维护,因为我必须相对于Jupyter的意外导入内容 - 我有什么方法可以修复cwd,使其始终为project,无论如何我打开文件?

我查看了文档和我的~/.jupyter/jupyter_notebook_config.py文件,但找不到任何可以帮助我的内容。

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

感谢您的帮助

1 个答案:

答案 0 :(得分:0)

首先,我认为您的意思是cwdpwdprint working directory的简写,而cwdcurrent working directory的简写。基本上,pwd打印cwd。那里只是一个小术语问题!

其次,您可以随时手动更改笔记本顶部的目录:

import os
os.chdir("../")  # or manually specify project - whichever you prefer

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