繁体   English   中英

为什么我只能在使用 `pipenv run papermill` 时在我的 jupyter 笔记本中导入包?

[英]Why I can import packages in my jupyter notebooks only when using `pipenv run papermill`?

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

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

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

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

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

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM