将pycharm项目导入jupyter笔记本

时间:2016-07-26 07:34:34

标签: python pycharm jupyter jupyter-notebook

我正在使用Pycharm开发python包,并希望使用Jupyter笔记本与模块进行交互。

我的项目结构如下:

project/notebooks/my_notebook.ipynb
project/module/__init__.py
project/module/core.py
project/tests/...

我在浏览器中运行my_notebook.ipynb但无法弄清楚如何导入python模块的内容。像from module import foo这样的东西不能开箱即用。我来到this blog post,涉及将源代码安装为可编辑的Pip包,但我想知道是否有其他方法可以使其工作而不涉及安装包?

2 个答案:

答案 0 :(得分:1)

您只需要将该目录放入笔记本内的路径中:

例如:

import sys

# make sure to use position 1
sys.path.insert(1, "/Users/foo/bar/project/")
from module.core import foo

使用位置1非常重要,因为使用位置0可能会破坏sys.path:docs

还要注意你应该确保你的pycharm项目使用的笔记本使用相同的 virtualenv(或conda env),否则你可能会有意料之外的事情冲突

答案 1 :(得分:0)

我认为将特定路径硬编码到笔记本代码中是一种不良做法。相反,在启动Jupyter笔记本服务器时,我会直接从项目文件夹中将根项目文件夹添加到PYTHONPATH中,就像这样

env PYTHONPATH=`pwd` jupyter notebook

或者如果您是从其他地方启动的,就像这样

env PYTHONPATH=/Users/foo/bar/project/ jupyter notebook

相关问题