【Python程序如何高效地调试?】教程文章相关的互联网学习教程文章

python – 在pycharm / pydev中调试pytest post mortem异常【代码】

我想在不预先配置断点的情况下将PyCharm的内置Pytest运行程序与调试器一起使用. 问题是我的测试中的异常被Pytest捕获,因此PyCharm的post mortem调试器无法处理异常. 我知道使用断点工作,但我不想两次运行我的测试. 在Unittest中找到了这样做的方法,我想知道Pytest中是否存在这样的东西. Is there a way to catch unittest exceptions with PyCharm?解决方法:你在使用pytest-pycharm插件吗?看起来它适合我.创建virtualenv,pip inst...

Python实时编码/调试【代码】

有没有办法在程序执行期间产生交互式python控制台(最好是iPython)而不会暂停主程序并能够检查和修改程序变量?类似于浏览器为JavaScript提供的东西. 我知道pdb.set_trace()和IPython.embed(),但它们都暂停程序执行并需要将它们放在程序源代码中的某个位置. 这对于python中的桌面游戏开发来说非常有用.解决方法:你可以通过线程自己滚动一下:#!/usr/bin/python3def _spawn_background_interpreter(*args,**kwargs):from threading i...

vs code 编译python 输出到调试控制台【图】

如图所示,在debug菜单中点击齿轮按钮,进入launch.json,更改console选项的值(有三种)"console":?"none"? ? ? ? ? ? ? ? ? ? ? ? ?//只输出到"调试控制台",但无法输入数据,只能看到输出 "console":?"integratedTerminal"? ?//同时输出到"调试控制台"和软件内置“终端”,建议在终端输入,在调试控制台查看结果 "console":?"externalTerminal"? ? ? //输出到外部“终端”

python调试器中的所有变量都是未定义的【代码】

我在Python 3.6上面临一个非常奇怪的问题.在我的代码中间,我调用import pdb; pdb.set_trace()来调试一些代码. 然后我无法正常调试,例如:(Pdb) abc = 3 (Pdb) [abc for _ in range(2)] *** NameError: name 'abc' is not defined (Pdb) [abc, abc] [3, 3]似乎每当我使用列表推导时,都存在未定义变量的问题.但是,如果我在打开Python后立即调用调试器,我没有观察到这种行为,一切运行正常. 我有这个问题的任何想法?解决方法:发生这种...

调试python时Bdbquit引发了【代码】

最近在将调试器添加到我的python 2.7.10代码时,我得到以下消息:Traceback (most recent call last):File "/Users/isaachess/Programming/vivint/Platform/MessageProcessing/vivint_cloud/queues/connectors/amqplib_connector.py", line 191, in acking_callbackcallback(message.body)File "/Users/isaachess/Programming/vivint/Platform/MessageProcessing/vivint_cloud/queues/consumable_message_queue.py", line 32, in de...

python – 如何查看Django调试工具栏?【代码】

我有一个Django webapp.我已经安装了debug_toolbar中间件和模块.但是,我的webapps没有调试工具栏拉出. 我如何实际看到调试工具栏?还有什么我需要做的吗?我是否需要为我的webapp使用特定模板?我已经按照自述文件中的所有步骤进行了操作,但这还不够 – 似乎还有一些其他依赖项,或者其他我缺少的东西. 此外,在查看我的webapp的URL模式集时,在识别的模式中找不到调试前缀.我在debug_toolbar中放入了一个urls.py日志,以确保激活的deb...

python – 调试django-allauth社交网络登录失败【代码】

当使用django-allauth通过社交提供程序进行OAuth登录时,有时会失败并显示错误页面“社交网络登录失败”.没有包含更多信息的日志输出.此日志输出(https://github.com/pennersr/django-allauth/issues/1120)有一个功能请求,但已打开超过一年.同时,如何获取更多信息来调试此错误?解决方法:更多信息将传递到用于呈现错误模板的上下文,但不会在默认模板中使用. 您可以通过覆盖模板并在模板中包含以下内容来获取日志输出:{{ auth_error...

python 错误、调试、单元测试、文档测试

错误分为程序的错误和由用户错误的输入引起的错误,此外还有因为各种各样意外的情况导致的错误,比如在磁盘满的时候写入、从网络爬取东西的时候,网络断了。这类错误称为异常 错误处理参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017598873256736普通的错误处理机制就是在出错的时候返回一个错误代码,但是这样十分不方便,一是因为错误码是和正常结果一样的方式返回的,判断起来十分不方便,二是错误还需要一...

python异常处理及程序调试

显示的错误:SyntaxError:invalid syntax :无效的语法 隐式的错误:和使用者的操作有关 ZeroDivisionError:除数为零的错误 NameError:尝试访问一个没有声明的变量引发的错误 IndexError:索引超出序列范围引发的错误 IndentationError:缩进错误 ValueError:传入的值错误 KeyError:字典关键字不存在 IOError:输入输出错误 ImportError:import无法找到模块或者from无法找到相应的名称 AttributeError:尝试访问未知的属性引发的错误 T...

python – 如何在调试模式下调用PySpark?【代码】

我使用Apache Spark 1.4设置了IntelliJ IDEA. 我希望能够将调试点添加到我的Spark Python脚本中,以便我可以轻松地调试它们. 我目前正在运行这一点Python来初始化spark过程proc = subprocess.Popen([SPARK_SUBMIT_PATH, scriptFile, inputFile], shell=SHELL_OUTPUT, stdout=subprocess.PIPE)if VERBOSE:print proc.stdout.read()print proc.stderr.read()当spark-submit最终调用myFirstSparkScript.py时,调试模式未被启用并且正常执...

Python学习十三 错误,调试和测试

错误,调试和测试 错误处理 try…expect…finally 异常栈 记录错误 logging 抛出错误 调试 断言assert logging pdb IDE可以比较爽快的设置断点 单元测试 文档测试

python – 设置WingIDE以调试Flask项目【代码】

有没有人成功在WingIDE中设置Flask项目,以便您可以执行断点并对传入请求使用调试探测?解决方法:如果关闭Flask调试,它应该允许WingIDE的调试接管.这适用于Eclipse;不幸的是,我没有WingIDE的经验.至少值得一试.if __name__ == '__main__':app.debug = Falseapp.run()

python – eclipse:运行/调试当前文件

为了寻找一个Python调试器,我偶然发现了一个基于eclipse的Aptana. 通常,我想调试一个python脚本.但是,Aptana不会让我直接运行/调试当前打开的文件. 相反,它需要我为我想要运行/调试的每个文件创建调试/运行配置.或者,我可以在Aptana中创建一个Python项目. 但是:我不想.我只是想能够运行或调试当前打开的文件.这样我想调试我的脚本而不必被迫首先创建一个项目(对于每个单独的脚本!). 可难吗?解决方法:这是因为Aptana / Eclipse没...

如何在亚马逊EC2上调试python网站?

我是网络开发的新手.这可能是一个愚蠢的问题,但我找不到可以帮助我的确切答案或教程.我工作的公司在亚马逊EC2上有它的网站(用python django构建).我想知道在哪里可以开始调试这个生产站点并检查存储在那里的日志和数据库.我有帐户信息,但无论如何我可以使用命令行(如ubuntu shell)或相同的教程访问所有的东西?解决方法:您只需要找出代码在服务器上的位置. SSH到其中一个实例然后你可以使用python交互式shell运行你的django代码进行...

在Python的调试器(pdb)中方便地启用多​​行语句的执行

运行!导入代码; pdb提示符中的code.interact(local = vars())允许您在调试器(source)中输入多行语句(例??如类定义).是否有任何方法可以省略每次复制粘贴/输入整行? 我正在考虑使用Conque for vim并设置类似:noremap,d i!import code; code.interact(本地= VARS())≤; ESC&GT但是在插入模式之外编辑任何内容似乎对提示没有任何影响.解决方法:PDB在启动时读取.pdbrc.从Python docs:If a file .pdbrc exists in the user’s home...

调试 - 相关标签