Jupyter Notebook如何设置项目依赖 避免跨项目导入报ModuleNotFoundError
Jupyter Notebook跨项目导入模块避免
ModuleNotFoundError的实现方案 下面是三种常用的实现方式,效果和PyCharm设置项目依赖一致:
方法1:临时添加项目路径到sys.path(单次Notebook运行生效)
这是最灵活的方案,仅对当前打开的Notebook生效,不会影响其他项目:
- 打开第二个项目的Notebook,在首个代码块运行以下代码:
import sys import os # 替换为你第一个项目的根目录绝对路径 first_project_root = os.path.abspath("/path/to/your/first-project-root") sys.path.append(first_project_root)
- 运行后即可正常导入第一个项目内的模块,路径填写错误时可打印
first_project_root校验路径是否正确。
方法2:修改Jupyter内核配置(永久对指定内核生效)
如果长期需要在多个项目间共享依赖,可以修改对应Python内核的环境变量:
- 终端运行
jupyter kernelspec list,找到你正在使用的Python内核对应的存储路径 - 进入对应内核文件夹,打开
kernel.json配置文件 - 新增
env配置项,写入PYTHONPATH字段,值为第一个项目的根目录绝对路径,参考配置如下:
{ "argv": [ "python", "-m", "ipykernel_launcher", "-f", "{connection_file}" ], "display_name": "Python 3 (ipykernel)", "language": "python", "env": { "PYTHONPATH": "/path/to/your/first-project-root" } }
- 保存文件后重启Jupyter Notebook,所有使用该内核运行的Notebook都可以直接导入第一个项目的模块。
方法3:将第一个项目安装为可编辑包(全局Python环境生效)
如果第一个项目是标准Python项目结构(根目录包含setup.py或pyproject.toml文件),可以直接安装为可编辑包:
- 终端进入第一个项目的根目录
- 运行命令
pip install -e . - 安装完成后,所有使用该Python环境的Jupyter Notebook、本地脚本都可以直接导入第一个项目的模块,后续修改第一个项目的代码也不需要重新安装。
内容的提问来源于stack exchange,提问作者Elgun Valiyev
相关产品推荐
相关产品推荐

