“Kernel Error”本质是Jupyter找不到或无法启动Python解释器,90%可通过重装并重新注册ipykernel解决;关键线索在启动终端日志中,需检查ipykernel是否安装、路径是否匹配、权限是否充足,并确保kernel.json中argv首项为当前环境Python的绝对路径。

“Kernel Error”不是Jupyter本身坏了,而是它找不到能干活的Python解释器,或者找到的解释器没法正常启动。90%的情况,重装ipykernel并重新注册就能解决,不用重装Anaconda或整个环境。
内核启动失败时终端里一定有关键线索
别只盯着浏览器里的红色报错——真正有用的错误信息全在你启动jupyter notebook的那个终端窗口里。如果终端被关了或最小化了,立刻重新用终端启动(不要双击图标),然后复现问题。常见线索包括:
-
ModuleNotFoundError: No module named 'ipykernel'→ipykernel根本没装,或没装在当前环境 -
OSError: [WinError 193] %1 is not a valid Win32 application→kernel.json里写的python.exe路径指向了32位/64位不匹配的解释器 -
PermissionError: [Errno 13] Permission denied→ Windows下--user权限不足,或路径含中文/空格 -
Connection failed+ 一堆tornado相关堆栈 →tornado版本太高(如7.x),和旧版ipykernel冲突
重装ipykernel并注册内核是最有效动作
这一步覆盖了路径错误、包损坏、环境错位三类主因。操作前先确认你激活的是目标环境(比如conda activate myenv或source venv/bin/activate):
- 卸载再重装:
python -m pip uninstall ipykernel -y && python -m pip install ipykernel - 强制重新注册:
python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"(把myenv换成你实际的环境名) - 注册后运行
jupyter kernelspec list,确认输出里出现了你刚注册的内核路径 - 重启Jupyter Notebook进程(不是只刷新页面),再进Notebook点
Kernel → Change kernel选新内核
kernel.json里argv第一项必须是绝对路径
注册完还是报错?大概率是kernel.json里写的Python路径失效了。比如你重装过Anaconda,旧路径E:/Anaconda3/python.exe还在文件里,但新安装在C:/Users/xxx/anaconda3/python.exe。直接编辑这个文件最稳妥:
- 用
jupyter kernelspec list查出内核目录(Windows通常在%USERPROFILE%AppDataRoamingjupyterkernelsmyenv) - 打开该目录下的
kernel.json,找到"argv"数组,确保第一个字符串是当前环境中python命令的**绝对路径**(Linux/macOS用which python,Windows用where python确认) - 路径中避免反斜杠
混用,统一用正斜杠/或双反斜杠\(Windows下"C:\Users\xxx\anaconda3\python.exe") - 改完保存,重启Jupyter服务
真正麻烦的不是步骤多,而是容易忽略终端日志里的那行FileNotFoundError——它直接指明了kernel.json里哪条路径错了。修路径比重装快十倍,但前提是得看见它。


















