必须在激活的目标环境中运行conda install ipykernel,否则仅安装到base环境;三步操作为:激活环境→安装ipykernel→执行python -m ipykernel install --user --name xxx --display-name "xxx"。

conda install ipykernel 必须在激活的虚拟环境中运行
直接在 base 环境下执行 conda install ipykernel,只会把内核装进 base,不会关联到你的目标虚拟环境。必须先激活目标环境,再安装。
- 查看已有环境:
conda env list,确认目标环境名(比如pytorch) - 激活它:
conda activate pytorch(Windows)或source activate pytorch(macOS/Linux) - 此时命令行前缀应显示
(pytorch),再运行conda install ipykernel -y - 如果网络慢或报错,可换用 pip:
pip install ipykernel(仍需在已激活环境下)
python -m ipykernel install --name 参数不能写错
--name 后跟的是 kernel 的唯一标识符,不是路径也不是显示名;它会作为内核目录名写入 jupyter kernelspec list 输出中。写错会导致后续切换失败或重复注册。
- 推荐与虚拟环境名保持一致,例如环境叫
geospatial,就用--name geospatial -
--display-name才是 Jupyter Notebook 下拉菜单里看到的名字,可含空格或中文,如--display-name "Python (geospatial)" - 务必加
--user,否则可能因权限问题写入系统级 kernel 目录,普通用户不可写 - 完整命令示例:
python -m ipykernel install --user --name geospatial --display-name "Python (geospatial)"
内核注册后不显示?先检查 jupyter kernelspec list
Jupyter 不会自动刷新内核列表,也不依赖重启浏览器——只要 kernel 注册成功,Notebook 启动时就会加载。但常见现象是“明明装了却看不到选项”,大概率是注册没生效。
- 运行
jupyter kernelspec list,确认输出里是否包含你刚注册的geospatial(或你指定的--name值) - 如果没出现,说明上一步命令失败或未执行;如果出现了但 Notebook 里没选项,试试关闭所有 Notebook 标签页 + 关闭终端,再重新启动
jupyter notebook - 若提示
PermissionError或ModuleNotFoundError: No module named 'ipykernel',说明ipykernel没装进当前环境,回到第一步验证激活状态和安装结果 - 误删内核可用:
jupyter kernelspec remove geospatial(把geospatial换成你的--name)
conda install nb_conda 不是必需项,反而容易引发冲突
有些教程推荐装 nb_conda 来“自动管理内核”,但它本质是让 Jupyter 能读取 conda 环境列表并动态生成 kernel,实际使用中常因版本不兼容导致内核无法启动、Kernel Dead 等问题。
- 除非你明确需要在 Notebook 界面里点几下就创建/删除环境,否则跳过
nb_conda - 它和手动注册的
ipykernel内核共存时,Jupyter 可能列出两个同名 kernel,但只有一个能连上 - 出问题时优先卸载:
conda remove nb_conda,再重走ipykernel install流程 - 真正影响内核可用性的只有两件事:环境里有没有
ipykernel、python -m ipykernel install是否成功写入
--user 和 --name 的配合——不加 --user 可能在无权限目录写失败,--name 写错则 kernel 名和环境名对不上,后续排查时会多绕三圈。











