在一个必须运行一些Jupyter笔记本电脑的项目中,我使用pipenv创建了一个虚拟环境,并安装了一些软件包(请注意,我使用了--site-packages
标志(。
虽然现在我可以使用pipenv run papermill ...
运行笔记本电脑,但由于某些ModuleNotFoundError
例外,我无法使用pipenv run
或pipenv shell
从Jupyter运行它们。
特别是,在第二种情况中注意到的模块是仅安装在虚拟环境中的模块,而不是从全局站点继承的模块。
事实上,如果我检查sys.path
,我可以看到这两种情况的区别:在第二种情况下没有~/.local/share/virtualenvs/...
条目。
为什么我会遇到这个问题,如何解决?(如果可能的话,我宁愿不要用virtualenv的其他内核污染我的~/.local/share/jupyter/kernels
(。
正如这里所建议的,您还需要确保内核也在venv:下
python -c "import IPython"
python -m ipykernel install --user --name=my-virtualenv-name
然后切换名为"的内核;我的虚拟名字";在jupyter用户界面中