我需要在每个虚拟环境中安装 Jupyter Notebook 吗?

问题描述 投票:0回答:3

我使用

pipenv
将我的数据科学项目隔离到虚拟环境中。但是,运行 Jupyter Notebook 不会访问本地环境,而是使用默认的 IPyKernel。我已经看到您可以从环境中注册虚拟环境,但这需要安装
ipykernel
包,它本身需要Jupyter!

是否有办法避免这种情况,并为所有虚拟环境使用单个 Jupyter 安装?

jupyter-notebook pipenv virtual-environment
3个回答
2
投票

通常,您只需安装一次 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。


1
投票

我发现分别为每个环境重新安装jupyter时几乎没有问题:即在新环境中

pip install jupyter jupyterlab

我遇到了多个问题(使用和不使用 Conda),当您在单元格中使用

!pip install a_package_name
时,Jupyter 会将包安装到不同的 python 环境。 shell 环境仍然跟踪非环境 python,你可以通过比较
!which python

的输出来判断这一点
import sys
sys.executable

因此,当您尝试导入该包时,它将不可用,因为单元使用环境 python/ kernel (因为它检测到

venv
目录)。


0
投票

是的,每个环境都必须有

ipykernel
jupyter
。有一个方便的包,https://github.com/anaconda/nb_conda_kernels,允许从基础环境调用
jupyter notebook
jupyter lab
,并可以访问其他环境中的其他内核。

© www.soinside.com 2019 - 2024. All rights reserved.