[英]ipdb set_trace() is not working properly in spyder
我正在使用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 程序中不起作用?
那不是错误。 您正在调试 IPython 的胆量。
您不是在运行自己的程序,或者至少不是直接运行。 您正在运行 IPython,它本身是用 Python 编写的,并且您将代码作为输入传递给 IPython 以与exec
一起运行。 ipdb 没有看到你的代码和 IPython 本身之间的分离; 它将当前的 Python 程序作为一个整体进行调试。
当您直接从 shell 运行您的程序时,您实际上是在运行您的程序,而不是运行 IPython。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.