我使用pipenv
. 但是,运行 Jupyter 笔记本并不会访问本地环境,而是使用默认的 IPyKernel。我已经看到您可以从环境中注册虚拟环境,但这需要安装ipykernel
本身需要 Jupyter 的包!
有没有办法避免这种情况,只为所有虚拟环境使用一个 Jupyter 安装?
我使用pipenv
. 但是,运行 Jupyter 笔记本并不会访问本地环境,而是使用默认的 IPyKernel。我已经看到您可以从环境中注册虚拟环境,但这需要安装ipykernel
本身需要 Jupyter 的包!
有没有办法避免这种情况,只为所有虚拟环境使用一个 Jupyter 安装?
通常,您会安装一次 jupyter 并在虚拟环境中执行以下操作:
pip install ipykernel
python -m ipykernel install --user
当您运行多个 Python 版本时,这还不够。
这里有一个指南试图解决这个问题:
https ://medium.com/@henriquebastos/the-definitive-guide-to-setup-my-python-workspace-628d68552e14
它不是 100% 的故障保护,但它可以帮助您避免一直重新安装 jupyter notebook。
我发现分别为每个环境重新安装jupyter时几乎没有问题:即pip install jupyter jupyterlab
在新环境中。
我有多个问题(有和没有 Conda),当您!pip install a_package_name
在单元格中使用时,Jupyter 会将包安装到不同的 python 环境中。shell 环境仍然跟踪非环境 python,您可以通过比较和的输出来判断这!which python
一点
import sys
sys.executable
因此,当您尝试导入包时,它不可用,因为单元使用环境 python/ kernel(因为它检测到venv
目录)。
我找到了一个解决方法,我会很感激反馈。.bashrc
我通过添加到/更改了 pipenv 以将虚拟环境安装到工作目录中.bash_profile
:
export PIPENV_VENV_IN_PROJECT=1
现在,当打开 Jupyter 笔记本时,我只需将虚拟环境的包添加到 Python 路径:
import sys
sys.path.append('./.venv/lib/python3.7/site-packages/')
这是一个可怕的想法吗?