VS Code中Jupyter Notebook出现‘Kernel died with exit code 1’错误求助
解决VS Code中Jupyter Notebook Kernel died with exit code 1的实用方案
我之前也碰到过一模一样的问题,折腾了好一阵才搞定,给你整理几个亲测有效的方案,按顺序试试:
确保虚拟环境正确关联Jupyter内核
很多时候是虚拟环境里没装ipykernel,导致VS Code无法启动内核。步骤如下:- 激活你的虚拟环境:
- Windows:
.\venv\Scripts\activate - Mac/Linux:
source venv/bin/activate
- Windows:
- 安装
ipykernel:pip install ipykernel - 将虚拟环境注册为Jupyter内核:
python -m ipykernel install --user --name=your-venv-name(把your-venv-name换成你的虚拟环境名称,比如my-project-venv) - 重启VS Code,在Notebook的内核选择器里切换到刚才注册的内核。
- 激活你的虚拟环境:
强制重装核心依赖包
依赖版本冲突是常见诱因,尤其是Anaconda全局环境和venv虚拟环境的包互相干扰。可以彻底卸载后重装:- 激活虚拟环境后执行:
pip uninstall -y ipykernel jupyter_client jupyter_core - 强制重装兼容版本:
pip install ipykernel jupyter_client jupyter_core --force-reinstall
- 激活虚拟环境后执行:
清理Jupyter缓存并重置服务器
VS Code的Jupyter缓存可能损坏,导致内核启动失败:- 完全关闭VS Code
- 删除用户目录下的
.jupyter文件夹:- Windows:
C:\Users\你的用户名\.jupyter - Mac/Linux:
~/.jupyter
- Windows:
- 重启VS Code,打开命令面板(Ctrl+Shift+P)执行
Jupyter: Reset Jupyter Server命令,再重新打开Notebook选择内核。
检查环境变量冲突
有时候Anaconda的全局Python路径优先级高于虚拟环境,导致内核调用了错误的Python解释器:- 激活虚拟环境后,在终端执行
where python(Windows)或which python(Mac/Linux) - 如果输出的不是虚拟环境目录下的Python路径,打开系统环境变量设置,把虚拟环境的
Scripts(Windows)或bin(Mac/Linux)目录移到环境变量列表的最顶端。
- 激活虚拟环境后,在终端执行
针对Python 3.8.8的兼容性调整
Python 3.8.8和部分新版本的ipykernel存在兼容性问题,尝试降级到稳定兼容的版本:
激活虚拟环境后执行:pip install ipykernel==5.5.0
如果以上方案都不行,可以尝试在虚拟环境里直接启动Jupyter Notebook(执行jupyter notebook),看是否能正常运行,这样可以排查是VS Code的问题还是环境本身的问题。
内容的提问来源于stack exchange,提问作者Chirag Bhansali




