必须安装官方jupyter扩展(ms-toolsai.jupyter)并重启vscode,再手动选择python解释器、安装ipykernel、执行python -m ipykernel install --user --name xxx --display-name "xxx"注册内核,否则.ipynb仅显示为纯文本且无内核选择器。

装了 Jupyter 扩展但 .ipynb 文件还是纯文本、点不了 ▶、右上角没内核选择器?不是插件没装对,而是 VSCode 没认出可用的 Python 内核——ms-toolsai.jupyter 只负责界面,真正执行靠的是你环境里注册过的 ipykernel 实例。
必须装官方 Jupyter 扩展(ID: ms-toolsai.jupyter)并重启
VSCode 不自带 Notebook 功能,所有单元格运行、输出渲染、内核切换都依赖这个扩展。只装 Python 扩展,.ipynb 会以 JSON 格式打开,完全不可执行。
- 打开扩展面板(
Ctrl+Shift+X或点击左侧活动栏图标),搜Jupyter - 认准发布者是 Microsoft、ID 为
ms-toolsai.jupyter的那一项(图标是蓝白/紫色火焰) - 点击安装 → 必须重启 VSCode,否则内核选择器不出现、
Shift+Enter无响应
Python 解释器选错,内核就“看不见”
VSCode 不会自动扫描系统所有 Python 环境,它只检查你当前选中的解释器路径下有没有注册好的 ipykernel。底部状态栏没显示 Python 路径,或显示的是系统默认 Python(如 /usr/bin/python3),基本就是这步卡住了。
Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。
- 按
Ctrl+Shift+P,输入Python: Select Interpreter,选一个明确指向虚拟环境或 conda 环境的路径,例如~/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,且 name 不能含空格
只装 ipykernel 不够,它得被注册成 Jupyter 可识别的内核。静默失败最常见原因:路径含中文/空格,或漏掉 --user 参数导致权限问题。
- 在目标环境中运行:
python -m ipykernel install --user --name ds-env --display-name "Python (ds-env)" -
--name是内核标识符(纯英文、无空格),--display-name才是右上角菜单里看到的名字 - Windows 用户若跳过
--user,内核可能被装进C:\Program Files\,VSCode 读不到;加了之后实际落在%USERPROFILE%\AppData\Roaming\jupyter\kernels\ - 注册完,用命令面板执行
Developer: Reload Window或直接重启 VSCode
验证内核是否真就绪:别看按钮,跑一句诊断代码
界面有 ▶ 按钮、右上角有内核名,不代表能跑通。真正卡住的地方,往往是内核启动后通信失败,或 jupyter 包缺失。
- 新建空白
.ipynb,插入代码单元,输入:import sys; print(sys.executable) - 按
Shift+Enter运行,输出路径必须和你选的解释器一致(比如~/venv/bin/python) - 如果报
ModuleNotFoundError: No module named 'jupyter',说明该环境缺jupyter包,补装:python -m pip install jupyter - 如果输出是系统 Python 路径,说明解释器没选对,回退到上一步重新选
最容易被忽略的其实是环境隔离:conda 环境里用 pip install ipykernel、pip 环境里用 conda install ipykernel,路径容易错乱;还有杀毒软件拦截 ipykernel 进程通信——这些不会报明显错误,只会让内核卡在 “Starting…” 或显示 “Not Connected”。










