Jupyter不用在每个Anaconda创建的环境中都安装
#记录#
在 Anaconda(或 Miniconda)环境中使用 Jupyter 时,通常有两种方式,不需要在每个环境中都安装完整的 Jupyter,但需要正确配置内核。以下是详细解答:
✅ 核心原则:
-
Jupyter 本体(界面)只需安装一次(通常装在
base环境)。 -
每个独立环境需要注册内核(通过安装
ipykernel或nb_conda_kernels实现)。
⚙️ 两种推荐方案:
方案一:为每个环境安装内核(推荐)
-
激活目标环境:
conda activate 你的环境名 -
安装
ipykernel:conda install ipykernel这会安装 Python 内核依赖,但不会安装完整的 Jupyter Lab/Notebook。
-
注册内核:
python -m ipykernel install --user --name 你的环境名 --display-name "显示的名称" -
启动 Jupyter(从 base 环境):
conda activate base jupyter lab # 或 jupyter notebook效果:在 Jupyter 界面的内核列表中会出现你注册的环境,切换后即可使用该环境的包。
方案二:使用 nb_conda_kernels(自动检测环境)
-
在
base环境安装nb_conda_kernels:conda activate base conda install nb_conda_kernels -
为每个环境安装
ipykernel:conda activate 你的环境名 conda install ipykernel -
启动 Jupyter(从 base 环境):
jupyter lab效果:所有安装了
ipykernel的 conda 环境会自动出现在内核列表中。
❌ 不推荐的做法:
-
在每个环境重复安装完整 Jupyter:
这会浪费磁盘空间,且可能导致依赖冲突(尤其是不同环境要求不同版本的 Jupyter 时)。
📌 关键总结:
| 操作 | 是否需要执行? |
|---|---|
| 每个环境安装完整 Jupyter | ❌ 不需要(冗余) |
在 base 安装 Jupyter | ✅ 需要(只需一次) |
每个环境安装 ipykernel | ✅ 需要(内核支持) |
| 注册内核或自动检测 | ✅ 需要(二选一) |
🌰 举个栗子:
假设你有两个环境:env-data(数据分析)和 env-ml(机器学习):
-
在
base中安装 Jupyter:conda install jupyterlab -
分别激活每个环境,安装
ipykernel:conda activate env-data conda install ipykernel pandas matplotlib python -m ipykernel install --name env-data conda activate env-ml conda install ipykernel scikit-learn tensorflow python -m ipykernel install --name env-ml -
从
base启动 Jupyter,即可在菜单中选择env-data或env-ml内核。
💡 额外提示:
-
用
jupyter kernelspec list查看已注册的内核。 -
删除内核:
jupyter kernelspec uninstall 内核名 -
确保 Jupyter 在
base环境启动,否则可能找不到其他环境的内核。
比喻理解:把 Jupyter 看作浏览器,每个 conda 环境是不同的网站。你只需要一个浏览器(Jupyter),但访问不同网站(环境)时需要知道它们的地址(内核)。
更多推荐


所有评论(0)