首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >退出Python调试器ipdb

退出Python调试器ipdb
EN

Stack Overflow用户
提问于 2015-08-17 16:13:11
回答 5查看 16.6K关注 0票数 38

我经常使用ipdb,只需跳转到一段孤立的代码,即很难编写使用ipdb的真正脚本。相反,我编写了一个带有嘲讽的最小测试用例,并跳入其中。

工作流程的示例性:

代码语言:javascript
运行
复制
def func():
   ...
   import ipdb
   ipdb.set_trace()
   ...

def test_case():
    ...
    func()
    ...

然后,调用

代码语言:javascript
运行
复制
py.test test_file.py -s -k test_case

现在,通常我只检查一个或两个变量,然后想退出。更改代码,然后再做一次。

我该怎么戒掉?手册上说q退出调试器。它不(真的)。在调试器真正终止之前,您必须退出几次。对于Ctrl和Ctrl来说,同样的行为也是如此(由于多次撞击Ctrl,最终也退出了终端,这带来了额外的挫折)。

有什么明智之举能迫使你辞职吗?这个工作流程是否合理?标准的方法是什么?

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2015-08-19 12:53:42

我将以下内容放入我的.pdbrc

代码语言:javascript
运行
复制
import os

alias kk os.system('kill -9 %d' % os.getpid())

kk杀死调试器和(触发调试器的进程)。

票数 44
EN

Stack Overflow用户

发布于 2016-06-13 14:52:59

以下几点对我有用:

代码语言:javascript
运行
复制
import sys
sys.exit()

在新版本的ipython上,正如上面和下面提到的,这是行不通的。在这种情况下,

代码语言:javascript
运行
复制
import os
os._exit(0)

应该还能起作用。

票数 53
EN

Stack Overflow用户

发布于 2016-09-17 00:44:43

这是最近版本的IPython 5.1.0的问题所在。您可以使用以下代码检查您的环境:

代码语言:javascript
运行
复制
pip freeze | egrep -i '^i'

它将通过降级到IPython==5.0.0来解决。

代码语言:javascript
运行
复制
pip install ipython==5.0.0

这对我有用。

票数 7
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/32055062

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档