VS Code中Jupyter Notebook无法运行,90%因ipykernel未在选定解释器中安装、注册或连通;需先选对解释器,再执行python -m pip install ipykernel和python -m ipykernel install --user --name env --display-name "Python (env)",最后重启VS Code窗口。

VS Code 跑不起来 Jupyter Notebook,90% 不是插件没装,而是 ipykernel 没在你选中的 Python 解释器里装好、注册对、连得上——三者缺一不可。
右上角内核显示 “Python 3 (unavailable)” 怎么办
这不是内核不存在,而是 VS Code 找到了注册信息,但启动失败。本质是通信链路断了。
- 先确认解释器路径:按
Ctrl+Shift+P输入Python: Select Interpreter,选一个明确指向虚拟环境或 conda 环境的路径,比如~/venv/bin/python或~/miniconda3/envs/ds-env/bin/python - 打开终端(确保已激活该环境),运行:
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 ds-env --display-name "Python 3 (ds-env)";--name不能含空格,--display-name才是下拉菜单里看到的名字 - 注册完重启 VS Code 窗口(不是“重载窗口”),再打开
.ipynb文件看右上角
点击运行卡在 “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 lab或jupyter notebook进程——端口被占会导致 VS Code 启动本地 kernel 失败
打不开 .ipynb 文件,只显示 JSON 源码
说明 Jupyter 扩展根本没加载,不是环境问题,而是扩展缺失或未激活。
- 必须安装 ID 为
ms-toolsai.jupyter的 Microsoft 官方版(图标是紫色火焰),仅装 Python 扩展不够 - 安装后务必重启 VS Code,或按
Ctrl+Shift+P输入Jupyter: Select Interpreter测试命令是否存在;若提示Command 'Jupyter: Select Interpreter' not found,说明扩展静默失败,需重装 - 检查扩展面板里
ms-python.python(Python 扩展)是否也已启用——新版 Jupyter 扩展依赖它提供解释器桥接 - 右键
.ipynb文件 →Open With→ 选择Jupyter(不是Text Editor)
Shift+Enter 没反应,或报 ModuleNotFoundError
不是快捷键坏了,是 Notebook 当前绑定的 kernel 和你预期的 Python 环境错位了。
- 底部状态栏应显示类似
Python 3.11.5 (ds-env);如果没有,说明 kernel 没真正连接成功 - 打开输出面板(
Ctrl+Shift+U),切换到Jupyter日志,搜Failed to start the kernel或No module named 'ipykernel' - 别依赖 VS Code 首次启动时静默执行的
pip install ipykernel,它容易卡住或失败;手动装好再开 notebook 更稳 - 如果用了 conda 环境,统一用
python -m pip install ipykernel,避免conda install ipykernel因镜像源导致版本错乱
最常被忽略的一点:注册内核时漏掉 --user,kernel 会被写入系统级目录(如 C:\Program Files\ 或 /usr/local/share/jupyter/kernels/),VS Code 没权限读取;加了 --user 后,实际路径是 %USERPROFILE%\AppData\Roaming\jupyter\kernels\(Windows)或 ~/.local/share/jupyter/kernels/(macOS/Linux),这才是 VS Code 默认扫描的位置。


















