0

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

虽然现在我可以使用 运行笔记本,但由于某些异常pipenv run papermill ...,我无法使用pipenv run或从 Jupyter 运行它们。pipenv shellModuleNotFoundError

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

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

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

4

1 回答 1

0

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

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

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

于 2020-08-11T19:18:33.370 回答