我使用pipenv
将数据科学项目隔离到虚拟环境中。但是,运行Jupyter notebok不会访问本地环境,而是使用默认的IPyKernel。我已经seen可以在环境中注册虚拟环境,但这需要安装ipykernel
软件包,该软件包本身需要Jupyter!
总有办法避免这种情况,仅对所有虚拟环境使用一个Jupyter安装吗?
答案 0 :(得分:1)
通常,您将安装一次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笔记本电脑。
答案 1 :(得分:0)
我找到了一种解决方法,希望能收到您的反馈。我将pipenv更改为通过添加到.bashrc
/ .bash_profile
将虚拟环境安装到工作目录中:
export PIPENV_VENV_IN_PROJECT=1
现在,当打开Jupyter笔记本时,我只需将虚拟环境的软件包添加到Python路径:
import sys
sys.path.append('./.venv/lib/python3.7/site-packages/')
这是一个可怕的主意吗?
答案 2 :(得分:0)
我发现分别为每个环境重新安装jupyter时几乎没有问题:即在新环境中为pip install jupyter jupyterlab
。
我遇到了多个问题(有和没有Conda),当您在单元格中使用!pip install a_package_name
时,Jupyter会将软件包安装到不同的python环境中。外壳环境仍然跟踪非环境python,您可以通过比较!which python
和
import sys
sys.executable
因此,当您尝试导入该软件包时,它将不可用,因为这些单元使用了环境python /内核(因为它检测到venv
目录)。