VSCode内核未显示是因为所选Python解释器环境中未安装或未注册ipykernel:需先在该环境执行python -m pip install ipykernel,再运行python -m ipykernel install --user --name myenv --display-name "Python (myenv)"完成注册,最后点击内核选择器旁刷新图标或重载窗口。

VSCode 本身不运行 Jupyter,它靠 ipykernel 启动本地 Python 进程,并通过官方 ms-toolsai.jupyter 扩展与之通信——只要三者链路断一环,就会卡在 Connecting to kernel... 或报 ModuleNotFoundError。
为什么选了 Python 解释器,右上角还是没内核?
VSCode 的内核列表只显示「当前解释器环境里已注册的 ipykernel」,不是装过 jupyter 就自动出现。常见断裂点:
- 解释器选对了,但该环境下没装
ipykernel:在 VS Code 终端中激活对应环境后,运行python -m pip install ipykernel - 装了
ipykernel,但没注册:必须显式执行python -m ipykernel install --user --name myenv --display-name "Python (myenv)";--name不能含空格或中文,否则注册失败 - 注册完没刷新:点击右上角内核选择器旁的刷新图标,或执行
Developer: Reload Window - 用了 Conda 环境却只跑了
pip install ipykernel:应改用conda install ipykernel,再补python -m ipykernel install --conda --name myenv
打开 .ipynb 显示 JSON 源码,不是环境问题
这是扩展未生效的明确信号。VSCode 默认根本不认识 .ipynb 文件格式:
- 必须同时启用两个扩展:
ms-python.python(提供解释器桥接)和ms-toolsai.jupyter(负责解析与渲染) - 装完任一扩展后,务必重启 VS Code;若按
Ctrl+Shift+P输入Jupyter: Select Interpreter提示 “Command not found”,说明扩展加载失败,直接卸载重装 - 不要装第三方打包的 “Jupyter All-in-One” 类插件,它们常覆盖核心通信逻辑,导致内核启动后立即死亡
单元格执行卡在 *(星号),或绘图不显示
这不是代码写错了,而是内核行为或配置被默认压制:
- 卡在 *:大概率是
ipykernel和jupyter版本不兼容(如ipykernel 6.27+与jupyter 7.0存在 handshake bug),临时降级:运行pip install "ipykernel - Matplotlib 图不内联:在设置中搜索
jupyter.askForKernelRestart,设为false;再搜jupyter.runStartupCommands,添加["%matplotlib inline"] - 变量查看器为空:检查设置里
jupyter.enableVariableInspector是否为true;该功能依赖Pylance,需确保ms-python.pylance已安装 - 中文路径报错(Windows 常见):VS Code 工作区路径含中文字符会导致内核进程启动失败,把项目移到
C:\dev\project这类纯英文路径下
真正容易被忽略的是:VS Code 的内核选择是「会话级」而非「全局级」。你在 A 项目里选了 conda 环境 X,打开 B 项目时它不会自动继承——每个工作区都得单独确认右上角显示的内核名是否匹配当前 requirements.txt 或 environment.yml 所依赖的环境。


















