星号卡住说明内核未响应而非代码错误,需按通信、环境、版本顺序排查:先确认所选python环境已安装并注册ipykernel,再检查内核规格是否损坏,最后验证是否存在ipykernel≥6.27与jupyter≤7.0的握手bug导致初始化卡死。

星号一直不动,说明内核没响应或卡死,不是代码写错了,而是执行链断在了某一层。 大部分情况不需要重装,先按顺序排查通信、环境、版本三类问题。
Kernel 显示 Connecting 或右上角不显示 connected
这是前端根本没连上后端进程的明确信号。常见原因有:
- 你选的 Python 解释器环境里压根没装
ipykernel:在 VS Code 终端或命令行中激活该环境,运行python -m pip install ipykernel(conda 环境建议用conda install ipykernel) - 装了但没注册:必须手动执行
python -m ipykernel install --user --name myenv --display-name "Python (myenv)";注意--name不能含空格或中文,否则注册失败 - 注册完没刷新:VS Code 中点击右上角内核选择器旁的刷新图标,或执行
Developer: Reload Window - 内核规格损坏:运行
jupyter kernelspec list查看已注册内核,若发现路径异常或名称重复,用jupyter kernelspec remove myenv删除后重装
单元格执行卡在 In[*] 且右上角是实心圆
内核进程已启动,但卡在初始化或执行阶段。优先检查:
- 是否在代码里写了阻塞操作,比如
input()、plt.show()(未设 backend)、或无限循环?删掉或注释掉再试 - 是否用了新版本
ipykernel(≥6.27)搭配旧版jupyter(≤7.0)?存在 handshake bug,临时降级:pip install "ipykernel - 是否装了冲突的 tornado 版本?
tornado>=7.0与某些 jupyter 组件不兼容,可试pip install tornado==6.3.3 - 内存或 CPU 资源耗尽:打开系统监视器,看 Python 进程是否占满资源;大数组或未释放的 plt.figure 可能导致假死
重启 Kernel 后仍卡住或报错 Kernel died
说明内核进程启动失败,不是卡住而是根本没活下来。重点看终端启动 jupyter 时的报错日志:
- 出现
ModuleNotFoundError:确认jupyter_client、traitlets、pyzmq都在当前环境里,运行pip list | grep -i jupyter检查 - 报
PermissionError或路径错误:检查kernel.json里的argv字段,确保指向的 Python 路径真实存在且可执行 - 报 CUDA 相关错误(尤其在深度学习环境):可能是
ipykernel启动时加载了 GPU 库但驱动不匹配,尝试在干净虚拟环境中测试 - 不确定原因时,加
--debug启动:jupyter notebook --debug,日志会暴露具体在哪一步中断
真正麻烦的不是星号本身,而是它背后可能混着环境、通信、硬件三层问题。别一上来就重装 jupyter,先盯住终端输出和 jupyter kernelspec list 的结果——那才是内核真实状态的唯一信源。











