VSCode如何进行数据科学与Jupyter笔记本集成【教程】

10次阅读

vscode 集成 jupyter Notebook 必须安装 microsoft 官方 Jupyter 与 python 扩展、配置 Python 解释器并显式注册 ipykernel 内核,缺一不可;推荐用 # %% 分隔的 .py 文件配合交互式窗口替代 .ipynb 以提升 git 协作与稳定性。

VSCode如何进行数据科学与Jupyter笔记本集成【教程】

VSCode 能完美集成 Jupyter Notebook,但必须手动配齐三样东西:Jupyter 扩展、Python 解释器、ipykernel 内核——缺一不可,否则会卡在“No kernel found”或单元格灰色不可执行。

安装 Jupyter 和 Python 扩展是前提,不是可选项

VSCode 本身不带 Notebook 支持,Jupyter 扩展(ID:ms-toolsai.jupyter)负责渲染 .ipynb 文件、运行单元格、显示变量;而 Python 扩展(通常随 Jupyter 扩展自动安装)负责解释器识别和虚拟环境管理。两者都必须由 Microsoft 官方发布,第三方同名扩展可能缺失内核注册或调试能力。

  • 打开扩展面板(Ctrl+Shift+X),搜 Jupyter,认准作者是 Microsoft,点安装
  • 安装后务必重启 VSCode——不少用户跳过这步,导致内核选择器不出现
  • 如果没自动装上 Python 扩展,单独搜 Python 并安装(同样认准 Microsoft)

选解释器 ≠ 有内核:必须显式注册 ipykernel

即使你用 Python: select Interpreter 指向了 ~/miniconda3/envs/ds/bin/python,VSCode 仍可能不显示该环境为可用内核——因为 jupyter 包只是提供 notebook 服务,真正被 Jupyter 扩展调用的是 ipykernel 实例。

  • 先在终端激活目标环境:conda activate dssource venv/bin/activate
  • 运行:python -m ipykernel install --user --name ds --display-name "Python (ds)"
  • 重启 VSCode,打开 .ipynb 文件,右上角点击 Select Kernel,应看到 Python (ds)
  • 若仍不显示,运行 jupyter kernelspec list 确认内核已注册;路径含空格或中文会导致注册失败

用交互式窗口替代 .ipynb 文件写探索代码

直接编辑 .ipynb 文件在 Git 协作中极易引发冲突(输出、metadata、cell id 全是二进制差异),而 # %% 分隔的 .py 文件 + 交互式窗口既能获得 Notebook 式执行体验,又保持纯文本可 diff。

  • 新建 explore.py,写两段代码,中间加 # %%
  • 光标放在任一段内,按 Shift+Enter,VSCode 会自动打开交互式窗口并执行
  • 变量自动出现在 Variables 面板,DataFrame 可双击展开表格预览
  • 比 .ipynb 更稳:不会因意外保存输出污染文件,也避免 kernel 重启丢失上下文

运行单元格时常见失效场景与应对

单元格左侧行号旁没出现 ▶ 按钮、快捷键无响应、输出区空白——这些问题几乎都指向内核未就绪或状态异常。

  • Ctrl+Enter 只运行当前单元格;Shift+Enter 运行+跳转;Alt+Enter 运行+下方插入新单元格——别记混
  • 右下角显示 Python 3.x.x (idle) 是正常;若显示 disconnected 或一直转圈,点它 → Restart Kernel
  • markdown 单元格需双击进入编辑,再按 Ctrl+Enter 渲染;单击只选中,不触发渲染
  • 绘图不显示?确认已运行 %matplotlib inline(放在第一个代码单元格),且没被注释或拼错

最常被忽略的是:VSCode 的 Jupyter 支持依赖内核进程存活,而 conda/venv 环境一旦被删或重装 Python,ipykernel 注册信息不会自动更新——得重新 install --user,否则所有 Notebook 都变“只读”。

text=ZqhQzanResources