vs code 打不开 .ipynb 文件或显示 json 源码,是因未安装或未启用 microsoft 官方 jupyter 扩展(ms-toolsai.jupyter),且需同时启用 python 扩展;内核不可用多因 ipykernel 未安装或注册失败,注册须带 --user 参数并避免空格;运行卡在“connecting to kernel…”通常是误启远程模式,应关闭 jupyter: enable remote 并启用 local kernel specs only;modulenotfounderror 则表明所选解释器环境中缺失对应包,需在该环境终端中 pip/conda 显式安装。

VS Code 打不开 .ipynb 文件或显示 JSON 源码
说明 Jupyter 扩展根本没加载,不是环境问题,而是扩展缺失或未激活。
- 必须安装
ms-toolsai.jupyter(Microsoft 官方版),仅装Python扩展不够 - 安装后务必重启 VS Code,或按
Ctrl+Shift+P输入Jupyter: Select Interpreter测试命令是否存在;若提示Command 'Jupyter: Select Interpreter' not found,说明扩展静默失败,需重装 - 检查扩展面板里
Python扩展是否也已启用——新版 Jupyter 扩展依赖它提供解释器桥接,两者缺一不可
右上角内核选择器为空或显示 “Python 3 (unavailable)”
VS Code 找到了 Python 解释器路径,但该环境里没有可通信的内核进程。90% 的情况不是没装 jupyter,而是漏了 ipykernel 或注册失败。
- 先在目标环境终端中运行:
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)";不加--user可能写入系统级目录,VS Code 无权读取 -
--name不能含空格或特殊字符,否则内核注册会失败但不报错;--display-name才是下拉菜单里看到的名字 - 注册后别忘了点右上角内核选择器旁的刷新按钮,或执行
Developer: Reload Window
选对了内核,但单元格运行卡在 “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 类扩展(如第三方 kernel 管理器),避免干扰
内核可用,但 import pandas/numpy 报 ModuleNotFoundError
说明你选的是一个“干净”的 Python 解释器,但数据分析库没装进去——和 Jupyter 配置无关,纯环境依赖问题。
- 确认你当前选中的解释器(右下角显示的路径)就是你打算跑分析代码的那个环境;比如选了
./venv/bin/python,就得在这个 venv 里装包 - 不要在全局 Python 或 conda base 环境里注册 kernel 后,又指望它能 import 项目专属的包
- 在该环境下终端中直接运行:
python -m pip install pandas numpy matplotlib seaborn scikit-learn;conda 用户请统一用conda install,避免 pip/conda 混用导致环境损坏 - VS Code 的 notebook 不会自动继承终端激活状态,所有包必须显式安装到 kernel 对应的解释器环境中
最容易被忽略的其实是环境隔离粒度:一个项目配一个 venv,一个 venv 装一套包,一个 venv 注册一个 kernel。三者错位,就会出现“内核存在但缺库”“库装了但 kernel 没注册”“kernel 注册了但 VS Code 没刷新”这类看似随机、实则必然的问题。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!











