VSCode跑不起来Jupyter Notebook主因是内核未在所选Python解释器中注册:需先选解释器,再在该环境执行python -m pip install ipykernel及python -m ipykernel install --user --name myenv --display-name "Python (myenv)",最后重启VS Code窗口。

VSCode 跑不起来 Jupyter Notebook,90% 不是插件没装,而是内核根本没注册进你选中的 Python 解释器里——右上角显示 Python 3 (unavailable) 或压根没选项,就说明这个环节断了。
VSCode 打开 .ipynb 显示 JSON 源码
这不是环境问题,是 Jupyter 扩展压根没加载。VS Code 默认不认识 .ipynb 文件格式,必须靠扩展解析。
- 必须安装并启用 Microsoft 官方
ms-toolsai.jupyter扩展(图标是紫色/蓝白火焰) - 必须同时启用
ms-python.python扩展——新版 Jupyter 扩展依赖它提供解释器桥接,缺一个,Notebook 就无法绑定内核 - 装完后务必重启 VS Code(不是“重载窗口”),否则
Jupyter: Select Interpreter命令可能不出现;如果按Ctrl+Shift+P输入该命令提示 “Command not found”,直接卸载重装
右上角内核选择器为空或显示 “Python 3 (unavailable)”
VS Code 找到了解释器路径,但该环境里没有可通信的内核进程。核心问题不是没装 jupyter,而是漏了 ipykernel 或注册失败。
- 先确认当前解释器:左下角点击 Python 版本,或按
Ctrl+Shift+P运行Python: Select Interpreter,选中目标环境(如./venv/bin/python或C:\envs\ds\python.exe) - 在该环境终端中运行:
python -m pip list | grep ipykernel(macOS/Linux)或python -m pip list | findstr ipykernel(Windows);无输出就立刻执行python -m pip install ipykernel - 注册命令必须带
--user:python -m ipykernel install --user --name myenv --display-name "Python (myenv)";--name不能含空格或中文,--display-name才是下拉菜单里看到的名字 - 注册后必须重启 VS Code 窗口(不是“重载窗口”),否则新内核不会出现在右上角选择器中
选对内核却卡在 “Connecting to kernel…”
VS Code 正在尝试连接远程 Jupyter Server,而非本地内核。这是默认行为被误触发的典型表现。
- 打开设置(
Ctrl+,),搜索jupyter: enable remote,关闭Jupyter: Enable Remote - 同时启用
Jupyter: Local Kernel Specs Only,强制只读取本地注册的 kernel - 检查工作区
.vscode/settings.json里有没有"jupyter.jupyterServerType": "remote"或"jupyter.remoteJupyterServerUri",有就删掉 - 禁用所有非官方 Jupyter 类扩展(比如第三方 notebook 插件),它们可能劫持内核连接逻辑
Shift+Enter 没反应或报 ModuleNotFoundError
这不是快捷键坏了,是 Notebook 当前绑定的 kernel 和你预期的环境错位了。VS Code 左上角显示的内核名称(如 Python 3.11.5 ('myenv': venv))才是真实执行环境,跟当前打开的 .py 文件或文件夹无关。
- 点右上角内核名称,从下拉列表中手动选中你实际想用的环境(带
--user注册的那个) - 如果目标环境没出现在列表里,说明它没注册内核:进该环境,运行
python -m ipykernel install --user --name project-env --display-name "Python (project-env)" - 别依赖 VS Code 自动“检测工作区 Python”,它只影响普通
.py文件调试,不影响 Notebook 内核绑定 -
ModuleNotFoundError出现时,别在全局环境装包——必须在右上角显示的那个 kernel 对应的环境终端里,用pip install或conda install显式安装
最易被忽略的是:注册 ipykernel 必须在目标环境中执行,且 --user 参数不能省;VS Code 不会跨环境找内核,也不会自动把 .venv 映射成可用 kernel——它只认你手动注册进去的那几个名字。


















