将 pycharm 项目导入 jupyter notebook
Import pycharm project into jupyter notebook
我正在使用 Pycharm 开发一个 python 包,并希望使用 Jupyter notebooks 与模块交互。
我的项目结构如下:
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 包,但我想知道是否有另一种方法可以使其工作而不涉及安装包?
您只需要将该目录放入笔记本中的路径即可:
例如:
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
另请注意 你应该确保你的笔记本使用的是相同的 virtualenv(或 conda env)pycharm 项目正在使用,否则你可能会遇到意想不到的冲突
在我看来,将特定路径硬编码到笔记本代码中是不好的做法。相反,我会在启动 Jupyter Notebook 服务器时将根项目文件夹添加到 PYTHONPATH,或者直接从项目文件夹中添加
env PYTHONPATH=`pwd` jupyter notebook
或者如果您是从其他地方启动它,就像这样
env PYTHONPATH=/Users/foo/bar/project/ jupyter notebook
我正在使用 Pycharm 开发一个 python 包,并希望使用 Jupyter notebooks 与模块交互。
我的项目结构如下:
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 包,但我想知道是否有另一种方法可以使其工作而不涉及安装包?
您只需要将该目录放入笔记本中的路径即可:
例如:
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
另请注意 你应该确保你的笔记本使用的是相同的 virtualenv(或 conda env)pycharm 项目正在使用,否则你可能会遇到意想不到的冲突
在我看来,将特定路径硬编码到笔记本代码中是不好的做法。相反,我会在启动 Jupyter Notebook 服务器时将根项目文件夹添加到 PYTHONPATH,或者直接从项目文件夹中添加
env PYTHONPATH=`pwd` jupyter notebook
或者如果您是从其他地方启动它,就像这样
env PYTHONPATH=/Users/foo/bar/project/ jupyter notebook