我经常使用ipdb,只需跳转到一段孤立的代码,即很难编写使用ipdb的真正脚本。相反,我编写了一个带有嘲讽的最小测试用例,并跳入其中。
工作流程的示例性:
def func():
...
import ipdb
ipdb.set_trace()
...
def test_case():
...
func()
...
然后,调用
py.test test_file.py -s -k test_case
现在,通常我只检查一个或两个变量,然后想退出。更改代码,然后再做一次。
我该怎么戒掉?手册上说q
退出调试器。它不(真的)。在调试器真正终止之前,您必须退出几次。对于Ctrl和Ctrl来说,同样的行为也是如此(由于多次撞击Ctrl,最终也退出了终端,这带来了额外的挫折)。
有什么明智之举能迫使你辞职吗?这个工作流程是否合理?标准的方法是什么?
发布于 2015-08-19 12:53:42
我将以下内容放入我的.pdbrc
中
import os
alias kk os.system('kill -9 %d' % os.getpid())
kk
杀死调试器和(触发调试器的进程)。
发布于 2016-06-13 14:52:59
以下几点对我有用:
import sys
sys.exit()
在新版本的ipython上,正如上面和下面提到的,这是行不通的。在这种情况下,
import os
os._exit(0)
应该还能起作用。
发布于 2016-09-17 00:44:43
这是最近版本的IPython 5.1.0的问题所在。您可以使用以下代码检查您的环境:
pip freeze | egrep -i '^i'
它将通过降级到IPython==5.0.0来解决。
pip install ipython==5.0.0
这对我有用。
https://stackoverflow.com/questions/32055062
复制相似问题