直接删,别犹豫——只要确认那个内核不再用,jupyter kernelspec remove 就能彻底清掉,不会影响其他环境或 Jupyter 本身;先运行 jupyter kernelspec list 查看所有已注册内核名称,再用 jupyter kernelspec remove [name] 删除,删后无需重启 Jupyter,刷新页面即生效。

直接删,别犹豫——只要确认那个内核不再用,jupyter kernelspec remove 就能彻底清掉,不会影响其他环境或 Jupyter 本身。
怎么查当前有哪些内核
运行命令就能看到所有已注册的内核名称和路径:
jupyter kernelspec list
输出类似:
Available kernels: python3 /usr/local/share/jupyter/kernels/python3 myenv /home/user/.local/share/jupyter/kernels/myenv torch3 /home/user/.local/share/jupyter/kernels/torch3
注意看左边那一列——那是内核名,后面 jupyter kernelspec remove 要用的就是它。
- 内核名不等于虚拟环境名,但通常一致;如果不确定,就按输出里写的原样复制
- Windows 用户路径里可能含空格或中文,但内核名本身不含路径,所以不影响删除操作
-
jupyter kernelspec list不会显示已损坏但未注册的内核,也不会列出没装ipykernel的环境
怎么安全删除一个内核
执行删除命令后,Jupyter 会提示确认,输入 y 回车即可:
jupyter kernelspec remove torch3
删完不用重启 Jupyter,刷新页面或重新打开 Notebook,那个内核就从 Kernel → Change kernel 菜单里消失了。
- 删除的是
~/.local/share/jupyter/kernels/xxx(Linux/macOS)或%USERPROFILE%\AppData\Roaming\jupyter\kernels\xxx(Windows)整个目录,干净利落 - 如果删错了,只要没重装过,对应虚拟环境还在,随时能用
python -m ipykernel install加回来 - 不要手动删
kernel.json或里面某个字段——容易留残缺配置,导致后续注册失败
删完发现内核还在?常见原因
刷新页面后仍能看到刚删的内核,大概率是以下三种情况之一:
- Jupyter Server 进程没重启:关掉所有
jupyter notebook或jupyter lab窗口,再重新启动 - 内核注册在多个位置:比如同时存在系统级(
/usr/local/share/...)和用户级(~/.local/share/...)路径,jupyter kernelspec list会列出全部,得挨个删 - 用了
--prefix指定安装路径:当初注册时加了--prefix D:\Anaconda,那它就不在默认位置,得去指定路径下手动删对应文件夹
顺手清理内存和残留变量
删内核本身不释放内存,但如果你正因某个内核频繁崩溃而清理它,建议同步做两件事:
- 在 Notebook 里点 Kernel → Restart & Clear Output,清掉当前会话所有变量和显存(对 PyTorch/TensorFlow 尤其重要)
- 关掉不用的 Notebook 标签页——每个打开的 .ipynb 文件都维持一个内核连接,哪怕没运行代码也在占资源
- 终端里检查有没有僵尸内核进程:
ps aux | grep jupyter(Linux/macOS)或任务管理器搜python和jupyter,强制结束残留进程
真正麻烦的不是删内核,而是删完还留着旧路径引用或重复注册——动手前先 jupyter kernelspec list 看清楚,比事后排查快十倍。


















