You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在VS Code中调试多单元格结构的Jupyter Notebook?

VS Code Jupyter Notebook 跨单元格调试问题处理

场景说明

  • 老师提供的Jupyter Notebook将程序按类拆分至不同单元格,最后一个单元格为启动代码(负责创建主类实例并调用方法)
  • 选择使用VS Code内置Jupyter Notebook,原因是浏览器版的调试与代码补全表现较差
  • 当前痛点:不合并所有单元格时,调试启动单元格会因找不到其他单元格中的类而报错,只能临时合并单元格作为调试方案

可行解决方案

1. 确保前置类定义单元格已执行

调试启动单元格前,先手动运行所有存放类定义的前置单元格:

  • 可以选中所有前置单元格,右键选择「Run Selected Cells」批量执行
  • 或者点击Notebook工具栏中的「Restart Kernel and Run All Cells」,先让所有代码加载到内核环境中,再启动调试

2. 配置VS Code Jupyter调试任务

打开运行和调试面板(快捷键Ctrl+Shift+D),创建launch.json配置文件,添加以下内容:

{
    "version": "0.2.0",
    "configurations": [
        {
            "name": "Jupyter: 调试整个Notebook",
            "type": "jupyter-notebook",
            "request": "launch",
            "notebookFile": "${file}"
        }
    ]
}

启动该调试配置后,VS Code会按单元格顺序执行代码,所有单元格中的断点都能被触发。

3. 将类代码转为外部模块

把各个类的代码导出到单独的.py文件(例如core_classes.py),在Notebook的第一个单元格中通过import core_classes引入模块,后续调试时可以直接在模块文件中设置断点,Notebook的启动单元格也能正常调用类,避免跨单元格的依赖问题。

内容的提问来源于stack exchange,提问作者Sebastien Tardif

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.04 23:47:04