【问题标题】:ipdb set_trace() is not working properly in spyderipdb set_trace() 在 spyder 中无法正常工作
【发布时间】:2020-03-26 02:36:38
【问题描述】:

我正在使用Spyder

当我写下这几行时:

import ipdb;
ipdb.set_trace()

当我按 n 时,程序总是将我返回到以下 交互式 shell 错误

--Return--
None
> <ipython-input-1-606cc96bec96>(7)<module>()
      6 
----> 7 import ipdb; ipdb.set_trace()
      8 


ipdb> n
> /home/***/anaconda3/envs/***/lib/python3.7/site-packages/IPython/core/interactiveshell.py(3329)run_code()
   3328                 # Reset our crash handler in place
-> 3329                 sys.excepthook = old_excepthook
   3330         except SystemExit as e:


ipdb> 

如果我从 Ubuntu 控制台运行相同的脚本,它可以正常工作。

为什么它在我的 Spyder 程序中不起作用?

【问题讨论】:

    标签: python debugging spyder ipdb


    【解决方案1】:

    这不是错误。你正在调试 IPython 的胆量。

    您不是在运行自己的程序,或者至少不是直接运行。您正在运行 IPython,它本身是用 Python 编写的,并且您将代码作为输入传递给 IPython 以使用 exec 运行。 ipdb 看不到您的代码和 IPython 本身之间的分离;它正在整体调试当前的 Python 程序。

    当您直接从 shell 运行程序时,您实际上在运行您的程序,而不是运行 IPython。

    【讨论】:

      猜你喜欢
      • 2017-04-05
      • 1970-01-01
      • 2015-03-27
      • 1970-01-01
      • 1970-01-01
      • 2020-08-07
      • 2016-12-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多