为什么我只能在使用“pipenv运行造纸机”时才能在jupyter笔记本中导入软件包?

2024-06-16 11:43:38 发布

您现在位置:Python中文网/ 问答频道 /正文

在一个需要运行一些Jupyter笔记本的项目中,我使用pipenv创建了一个虚拟环境,并安装了一些软件包(注意,我使用了--site-packages标志)

虽然现在我可以用pipenv run papermill ...运行笔记本,但由于一些ModuleNotFoundError异常,我不能用pipenv runpipenv shell从Jupyter运行它们

特别是,在第二种情况下发现的模块仅安装在虚拟环境中,而不是从全局站点继承的模块

事实上,如果我检查sys.path,我可以看到这两种情况的区别:在第二种情况下,没有~/.local/share/virtualenvs/...条目

为什么我会有这个问题,如何解决?(如果可能的话,我宁愿不要用virtualenvs的其他内核污染我的~/.local/share/jupyter/kernels


Tags: 模块项目runshare标志packageslocalpipenv
1条回答
网友
1楼 · 发布于 2024-06-16 11:43:38

正如建议的here,您还需要确保内核也在venv下:

python -c "import IPython"
python -m ipykernel install  user  name=my-virtualenv-name

然后在jupyter用户界面中切换名为“my virtualenv name”的内核

相关问题 更多 >