【问题标题】:Import pycharm project into jupyter notebook将pycharm项目导入jupyter notebook
【发布时间】:2016-11-29 17:42:19
【问题描述】:
我正在使用 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 包,但我想知道是否有另一种方法可以使其工作而不涉及安装包?
【问题讨论】:
标签:
python
pycharm
jupyter
jupyter-notebook
【解决方案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),否则您可能没有预料到冲突
【解决方案2】:
在我看来,将特定路径硬编码到笔记本代码中是不好的做法。相反,我会在启动 Jupyter 笔记本服务器时将根项目文件夹添加到 PYTHONPATH,或者直接从项目文件夹中添加,就像这样
env PYTHONPATH=`pwd` jupyter notebook
或者如果你是从其他地方启动它,像这样
env PYTHONPATH=/Users/foo/bar/project/ jupyter notebook