如何在Windows上使用Python + Django + PyCharm更快地调试?

时间:2014-10-17 13:01:47

标签: python django debugging pycharm pdb

使用PyCharm调试Django。

当我在调试器中运行任何东西时,它运行缓慢。

Django的启动时间很长。

不要误会我的意思 - 我喜欢PyCharm,因为它拥有舒适调试会话所需的所有功能......而Python比其他语言(如C)。但即使我调整了我的PostgreSQL数据库进行测试(Optimise PostgreSQL for fast testing),即使我有SSD驱动器和i7四核CPU,即使我特意告诉我的防病毒软件不要触及C:\ Python27目录中的任何内容和我的项目目录,它仍然很慢。

任何想法,我怎样才能加快调试速度?

我很乐意看到主要在流程启动时间方面的改进,因为我最常使用的情况是调试单个单元测试时。

2 个答案:

答案 0 :(得分:3)

正常运行python但在代码上使用pdb。像这样:

... code before ...
import pdb; pdb.set_trace()
... code after ...

它将停止该点上的代码。你需要按c(继续),q(退出)或n(下一个)才能继续。您可以按l。

测试表达式并检查您的位置

代码可能会更快,但调试可能会更加痛苦。

答案 1 :(得分:1)

前一段时间我遇到了同样的问题,直到我发现,Django和PyCharm允许你指定运行单个测试,而不是每次按下调试按钮时都运行完整的测试套件。

为了做到这一点,只需在PyCharm中编辑Debug配置即可。将target更改为指向测试文件内部某处的模块,类或甚至方法。

为此,请确保您的目录是模块(例如,其中包含__init__.py文件的目录)。您现在可以按以下格式指定特定目标:

django_app.tests_module.test_case.test_method

很明显,最终目标"路径"取决于你的项目的组织。

在推送代码之前,为了运行所有测试,请不要忘记更改目标;)