我希望所有笔记本的工作目录都是我运行命令的位置,而不是笔记本所在的位置,就像普通的python文件一样。
例如:
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
可安装,但正在寻找更直接的方法(我想更改工作目录,而不是安装软件包)。
我还想要一个方法,是独立于笔记本的位置,这是相同的,无论它是在 notebooks/A
或在 notebook/A/B
.
有办法吗?
2条答案
按热度按时间j2cgzkjk1#
我想试试
sys
然后导入module
. 它不会改变您的cwd,但是您可以在中导入模块src
```import sys
sys.path.append("absolute/path/to/src")
from module import *
mpgws1up2#
查找
root_folder
这样地:发现后
root_folder
:最后,附加
path_to_src
至sys.path
:现在python可以从
src
. 如果root_folder
如果移动到其他系统或目录,上述程序将能够从中导入任何模块src
.