我的问题与this有关。我在Jupyter Notebook中使用Python 3.6。我的项目目录是/user/project
。在这个目录中,我正在构建一些模型,每个模型都有自己的文件夹。但是,有一个常见的functions.py
文件,其中包含我想在所有模型中使用的函数。所以我想保持functions.py
文件在/user/project
,但能够从.ipynb
,/user/project/model1
等的/user/project/model2
文件中调用它...我怎么能这样做?
没有简单的方法可以在另一个目录中导入python文件。这与jupyter笔记本无关
以下是您的问题的两种解决方案
我建议在您的虚拟环境中安装functions.py
作为软件包。这有一些好处:
functions.py
文件。functions.py
文件中的任何功能,你就不需要一次又一次地重新加载你的iPython笔记本。它会自动重新加载每个更改。这是如何做到的方式:
setup.py
文件(https://docs.python.org/2/distutils/setupscript.html)pip install -e .
而已!
假设您有一个文件夹名称Jupyter,并且您希望从另一个名为nn_webserver的文件夹中导入模块(employee)。
可视化:
做这个:
import sys
import os
module_path = os.path.abspath(os.path.join('..'))
if module_path not in sys.path:
sys.path.append(module_path+"\\nn_webserver")
from employee import motivation_to_work
请参阅@metakermit的其他信息here