内核中断时应依次尝试:一、重启内核;二、重启并清空变量;三、重装并重新注册ipykernel;四、校正kernel.json中Python路径;五、降级tornado至6.3.x或升级ipykernel以解决兼容性问题。

如果您在运行 Jupyter Notebook 时遇到“Kernel died”、“Kernel Error”或代码单元格长时间无响应、输出区域空白等现象,则说明内核已中断或无法建立有效连接。以下是多种可立即执行的修复方法:
一、重启当前内核并清除状态
此操作适用于内核临时挂起、内存泄漏或未捕获异常导致的假死状态,不涉及环境变更,最快恢复执行能力。
1、在 Notebook 顶部菜单栏点击 Kernel → Restart。
2、等待右上角状态栏显示 Kernel restarting... 后变为 Kernel ready。
3、重新运行一个简单语句(如 print("hello"))验证是否恢复正常。
二、重启内核并清除全部变量
当变量污染、对象循环引用或全局状态异常引发内核不稳定时,需强制清空所有命名空间,避免残留状态干扰。
1、点击 Kernel → Restart & Clear Output。
2、确认弹窗中选择 Restart。
3、手动执行 Cell → Run All 前,先单独运行首个导入语句检查是否报错。
三、重装 ipykernel 并注册当前 Python 环境
内核崩溃常源于 ipykernel 损坏、版本不匹配或未正确绑定到当前 Python 解释器路径,需重建内核规范文件。
1、在终端中激活目标环境(conda 或 venv),例如:conda activate myenv 或 source myenv/bin/activate(Linux/macOS)/myenv\Scripts\activate(Windows)。
2、执行卸载与重装命令:python -m pip uninstall ipykernel -y && python -m pip install ipykernel。
3、重新注册内核:python -m ipykernel install --user --name=myenv --display-name="Python (myenv)"(将 myenv 替换为实际环境名)。
4、重启 Jupyter Notebook 进程,进入 Notebook 后点击 Kernel → Change kernel,选择新注册的内核。
四、检查并修复 kernel.json 配置路径
当内核启动后立即退出(Kernel died immediately),大概率是 kernel.json 中指定的 Python 路径失效,需手动校准解释器绝对路径。
1、运行命令获取内核列表及路径:jupyter kernelspec list。
2、进入对应内核目录,例如:cd ~/.local/share/jupyter/kernels/myenv(Linux/macOS)或 %USERPROFILE%\AppData\Roaming\jupyter\kernels\myenv(Windows)。
3、用文本编辑器打开 kernel.json,确认 "argv" 数组首项为当前环境中 python 的绝对路径(如 /opt/anaconda3/envs/myenv/bin/python 或 C:\Users\Name\Anaconda3\envs\myenv\python.exe)。
4、保存修改,关闭所有 Jupyter 进程,重新启动 Notebook。
五、降级或统一 tornado 与 ipykernel 版本
因 tornado ≥ 6.4 与旧版 ipykernel 兼容性问题引发的 AttributeError: type object 'IOLoop' has no attribute 'initialized' 类错误,需版本对齐。
1、在激活的环境中执行:python -m pip show tornado ipykernel 查看当前版本。
2、若 tornado 版本为 6.4.x 或更高,且 ipykernel python -m pip install "tornado=6.25.0"。
3、若使用 conda,优先运行:conda install tornado=6.3.3 ipykernel=6.25.0 以确保依赖一致性。
4、完成安装后,按第三步重新注册内核并切换使用。

















