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

Spyder单独运行代码单元格报错无法自动进入调试模式咨询

Spyder单元格运行触发错误自动进入调试模式的配置方法
  • 你在Tools -> preferences -> Run下勾选的Directly enter debugging when error appears选项,默认仅对完整脚本运行的场景生效,不会自动覆盖单独运行代码单元格(#%%分隔块)的执行链路,这是Spyder的默认设计,不属于配置失效。

正式配置方法(适用于Spyder 5.4.0及以上版本)

  1. 打开设置路径:Tools -> Preferences -> Editor -> Run Cells
  2. 找到并勾选选项:Enter post-mortem debugging when an error occurs while running cells
  3. 点击Apply保存配置,重启Spyder后即可生效。

配置完成后,单独运行单元格触发错误时,就会和运行完整脚本表现一致:自动抛出错误后跳转至IPdb事后调试模式,直接停在报错代码行。

旧版本临时替代方案(5.4.0以下版本)

低版本Spyder没有提供单元格自动事后调试的内置开关,可通过两种方式实现同等效果:

  • 运行单元格时不使用普通的Run current cell按钮,改用调试单元格功能(默认快捷键Alt+Shift+Enter),以调试模式启动单元格执行,触发错误时会自动停在报错位置
  • 普通模式运行单元格触发报错后,直接在IPython控制台输入命令%debug,即可手动进入事后调试模式

效果验证

使用拆分单元格的测试代码:

def divide_by(a):
    c=a-2
    return 3/c

#%%
divide_by(2)

配置生效后,运行最后一个单元格触发除零错误时,控制台将输出如下内容,直接进入调试交互状态:

****************************************
Entering post mortem debugging...
****************************************
> /home/test.py(3)divide_by()
      1 def divide_by(a):
      2     c=a-2
----> 3     return 3/c
      4 
      5 

IPdb[1]:

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.08.29 23:46:03