首页 > 解决方案 > 如何更改 jupyter notebooks 工作目录配置

问题描述

我希望所有笔记本的工作目录成为我运行命令的位置,而不是笔记本所在的位置。

举个例子:

root_folder/ 
    notebooks/
        subject_A/
            notebook.ipynb
    src/
        module.py

# notebook.ipynb

from src import module

我想从工作目录运行jupyter notebook(或实验室)root_folder和导入模块。我不认为os.chdir是一个好的解决方案,因为将笔记本移动到另一个文件夹会破坏导入。我也不想在笔记本中添加绝对路径,这个解决方案是不可导出的:我的绝对路径和你的不一样。

我知道我可以添加一个setup.py使src可安装的,但正在寻找一种更直接的方法(我想更改工作目录,而不是安装包)。

我还想要一种独立于笔记本位置的方法,无论它是 atnotebooks/A还是 in都是一样的notebook/A/B

有没有办法做到这一点?

标签: pythonjupyter-notebookjupyterjupyter-lab

解决方案


我会尝试使用sys然后导入module。它不会改变你的 cwd 但你将能够导入你的模块src

import sys
sys.path.append("absolute/path/to/src")

from module import *

推荐阅读