必须手动安装微软官方jupyter扩展,仅装python插件无法支持notebook渲染、单元格执行等功能;需正确选择python解释器并注册内核,避免内核连接失败或模块导入错误。

VSCode里装Jupyter扩展不是装Python插件就完事
VSCode本身不带Jupyter支持,必须手动装 Jupyter 扩展(微软官方那个),光装 Python 插件只是附带了部分兼容能力,但缺了核心的 notebook 渲染、单元格执行、内核选择等功能。
常见错误现象:无法打开 .ipynb 文件、点运行按钮没反应、右键菜单里没有 Run Cell 选项——基本都是因为只装了 Python 插件,漏掉了独立的 Jupyter 扩展。
- 去 VSCode 扩展市场搜
Jupyter,认准发布者是Microsoft,名字就是Jupyter(不是Jupyter Notebook或其他变体) - 安装后重启 VSCode,否则
.ipynb文件可能仍被识别为纯文本 - 如果已装旧版
Python插件(v2023.8 之前),它内置了 Jupyter 功能,但新版已拆分,必须单独启用Jupyter扩展并禁用旧版的 notebook 相关功能(设置里搜jupyter: enabled,设为false)
运行前必须选对 Python 解释器和内核
VSCode 不会自动把当前 Python 环境当 Jupyter 内核用,得手动指定;否则即使代码能跑,也可能用错环境、装不了包、找不到 numpy 这类依赖。
使用场景:你在虚拟环境里装了 torch 和 matplotlib,但 notebook 一运行就报 ModuleNotFoundError——大概率是内核没切过去。
- 打开任意
.ipynb文件,看窗口右上角有没有显示 Python 路径,比如Python 3.11 (venv);没有就点它,从列表里选你想要的解释器 - 选完后 VSCode 会自动安装
ipykernel到该环境(如果没装过),并注册为 Jupyter 内核;这个过程可能卡住,留意终端输出是否出现Installing ipykernel... - 如果选了解释器但内核列表里还是空的,手动在终端里激活环境后运行:
python -m ipykernel install --user --name myenv --display-name "Python (myenv)"
“Run Cell” 按钮失效或卡在 “Connecting to kernel…”
这不是 VSCode 崩了,而是内核启动失败或端口冲突。Jupyter 在后台起的是一个本地服务,跟浏览器版的 notebook 共享同一套机制,但 VSCode 封装了一层,出问题时提示更模糊。
常见错误现象:Connecting to kernel... 一直转圈、Interrupt Kernel 灰掉、单元格左上角出现红色闪电图标。
- 先检查 Python 解释器路径是否含中文或空格——VSCode 对这类路径支持不稳定,
C:\Users\张三\venv很容易导致内核启动失败 - 关掉所有其他 Jupyter 进程:任务管理器里杀掉
python.exe或jupyter-notebook相关进程,避免端口(默认 8888)被占 - 在 VSCode 设置里搜
jupyter: allow unauthorized remote connections,设为true(仅限本地开发),有些企业网络策略会拦截内核通信 - 如果用 conda 环境,别用 base 环境跑 notebook,base 里装太多包容易触发内核初始化超时
想用 GPU 或自定义内核(比如 Poetry、PDM 管理的项目)
VSCode 的 Jupyter 扩展默认只识别 venv 和 conda 环境,Poetry、PDM、uv 这些工具创建的环境不会自动出现在内核列表里,得手动注册。
性能影响:GPU 支持完全取决于你装的 torch 或 tensorflow 是否带 CUDA,VSCode 层面不干预,但内核选错会导致 cuda.is_available() 返回 False。
- Poetry 项目:先
poetry shell进入环境,再运行python -m ipykernel install --user --name myproject --display-name "Python (myproject)" - 确认内核注册成功:命令行运行
jupyter kernelspec list,能看到刚加的名字 - 重启 VSCode,打开 notebook 后点击右上角解释器,选新注册的
Python (myproject) - 如果用 WSL,确保 Windows 版 VSCode 装了
Remote - WSL扩展,并在 WSL 里完成内核注册,否则 Windows 下找不到 WSL 环境的内核
最常被忽略的一点:VSCode 的 Jupyter 扩展更新频繁,但内核注册信息不会自动同步。换大版本(比如 v2024.6 → v2024.8)后,原来能用的内核可能突然消失,别急着重装,先去 jupyter kernelspec list 看还在不在,不在就重注册一次。











