VSCode跑不起来.ipynb文件,根本原因是所选Python解释器未安装或未注册ipykernel;需先通过Python: Select Interpreter手动选定环境,再在该环境终端执行python -m pip install ipykernel及python -m ipykernel install --user --name xxx --display-name "xxx",最后重启VS Code并关闭远程模式。

VSCode 跑不起来 .ipynb 文件,几乎从来不是因为没装插件,而是你选的 Python 解释器里压根没注册 ipykernel——右上角显示 “Python 3 (unavailable)” 或根本没选项,就是这个信号。
Python: Select Interpreter 必须手动选对
VS Code 不会继承终端里 conda activate ds-env 的状态,也不会自动扫描项目下的 .venv。它只认你点选的那个解释器路径下的包。
- 按
Ctrl+Shift+P(Win/Linux)或Cmd+Shift+P(Mac),输入并执行Python: Select Interpreter - 从列表中挑出明确带环境路径的项,例如:
~/miniconda3/envs/ds-env/bin/python(macOS/Linux)或C:\Users\Me\anaconda3\envs\ds-env\python.exe(Windows) - 选完后左下角状态栏必须更新为该路径;没变就执行
Developer: Reload Window - 验证方式:新建一个
.py文件,写import pandas as pd; print(pd.__version__),按Ctrl+F5运行——报错说明解释器没绑对
python -m ipykernel install --user 是核心动作
光有 jupyter notebook 命令不够,VS Code 需要的是已注册进 Jupyter 生态的 kernel spec。很多人装了插件却没内核可选,就卡在这步。
- 先确认目标环境里是否已装:
python -m pip list | grep ipykernel(macOS/Linux)或python -m pip list | findstr ipykernel(Windows);无输出就立刻运行python -m pip install ipykernel - 注册命令必须带
--user:否则 kernel 可能写入系统级目录,VS Code 无权读取 - 正确写法示例:
python -m ipykernel install --user --name ds-env --display-name "Python (ds-env)" -
--name不能含空格或特殊字符(如data science会静默失败);--display-name才是右上角下拉菜单里显示的名字 - 注册后路径固定在:
~/.local/share/jupyter/kernels/(Linux/macOS)或%USERPROFILE%\AppData\Roaming\jupyter\kernels\(Windows);VS Code 只读这个位置
右上角内核选择器为空?先关远程模式
内核选不到、或点开只有 “Python 3 (unavailable)”,大概率是 VS Code 误启了远程 Jupyter Server,跳过了本地 kernel specs。
- 打开设置(
Ctrl+,),搜jupyter: enable remote,**关闭**Jupyter: Enable Remote - 同时启用
Jupyter: Local Kernel Specs Only - 检查工作区
.vscode/settings.json里有没有"jupyter.jupyterServerType": "remote"或"jupyter.remoteJupyterServerUri"——有就删掉 - 禁用所有非官方 Jupyter 类扩展(比如第三方 Jupyter 插件),只留
ms-toolsai.jupyter和ms-python.python
Shift+Enter 没反应或报 ModuleNotFoundError
这不是快捷键坏了,是当前 Notebook 绑定的 kernel 和你期望的环境不一致。VS Code 左上角显示的内核名(比如 Python 3.11.5 ('ds-env': conda))才是真实执行环境。
- 运行
import sys; print(sys.executable),确认输出路径是否指向你注册时用的那个python可执行文件 - 如果路径不对,说明绑定错位:可能你在 base 环境注册了内核,却想在子环境里用;或者
settings.json里写了无效配置(比如根本不存在的jupyter.notebook.startup) - 别依赖
conda install ipykernel,尤其在 pip 环境里混用容易出问题;统一用python -m pip install ipykernel更稳 - 注册完必须重启 VS Code 窗口(不是“重载窗口”),否则新内核不会出现在下拉列表中
最常被忽略的点是:注册 ipykernel 和选择解释器这两步必须在同一个环境里完成,且 --user 和 --name 的组合一旦写错,VS Code 就无法解析 kernel.json 里的 argv[0] 路径——它不会报错,只会安静地显示 “unavailable”。


















