Pycharm Django调试非常慢

时间:2015-06-03 16:20:58

标签: python django pycharm

我有一个中等规模的网站,但PyCharm启动Runserver大约需要30秒,并准备好运行该应用程序。如果我“运行”应用程序而不是“调试”,它只需要大约3秒钟即可启动。

我可以做的一些事情可以加快代码更改和调试周期。 我正在使用一个体面的MBP与16Gb的RAM。所以硬件不是问题。

我已从项目中排除/媒体文件。 我没有任何其他大量的文件会导致索引问题 我正在使用Postgres和Mongo db。 我正在运行Django 1.7 +十几个包,如:

dj-static==0.0.6
django-annoying==0.8.1
django-appconf==1.0.1
django-bootstrap-form==3.2
django-bootstrap-pagination==1.5.1
django-compressor==1.5
django-extensions==1.5.5
django-filter==0.10.0                              
django-guardian==1.2.5
django-storages-redux==1.2.3
django-widget-tweaks==1.3
djangorestframework==3.1.2                        
django-jinja==1.4.1

这是调试输出:

/Users/user1/.virtualenvs/env-test/bin/python "/Applications/PyCharm 4.5 EAP.app/Contents/helpers/pydev/pydevd.py" --multiproc --save-signatures --client 127.0.0.1 --port 64097 --file /Users/user1/gitroot/website1/manage.py runserver 0.0.0.0:8000 --verbosity 2
Connected to pydev debugger (build 141.1245)
pydev debugger: process 63926 is connecting

pydev debugger: process 63954 is connecting

Performing system checks...

System check identified no issues (0 silenced).
You have unapplied migrations; your app may not work properly until they are applied.
Run 'python manage.py migrate' to apply them.
June 03, 2015 - 09:08:52
Django version 1.7.7, using settings 'myproject.settings'
Starting development server at http://0.0.0.0:8000/
Quit the server with CONTROL-C.

更新 由于这篇文章Pycharm能够使用Cython作为解释器。我认为这有所改善。我也转而使用Runserverplus,我认为运行速度更快。

4 个答案:

答案 0 :(得分:7)

嗯,调试器速度很慢,你无能为力。除非你绝对需要它,否则不要使用调试器(即你正在解决一个特别难以捉摸的错误)。

我只能想到一件可以加速PyCharm调试器的事情,那就是关闭"收集运行时类型信息以获得代码洞察力"设置(位于文件>设置>构建,执行,部署> Python调试器)。

答案 1 :(得分:3)

对我来说,当我记得 启用调试器来收集类型信息 时,问题就变得非常严重。

  • 点击EAR或在foreach (var o in obj as IEnumerable) { Console.WriteLine(o); } 下搜索Ctrl-Shift-A

  • 取消选中此框并点击Settings > Build, Execution, Deployment > Python Debugger

  • 看看这是否有帮助

我运行collect run-time types information for code insight

答案 2 :(得分:1)

我注意到原始海报的调试输出中没有包含有关cython的消息。我来到这篇文章是因为我无法弄清楚为什么我的pycharm调试如此缓慢,但后来我意识到加速调试器的建议就在我的调试输出中。

"<some-path-to-python>/python" "/Applications/PyCharm.app/Contents/helpers/pydev/setup_cython.py" build_ext --inplace

我希望大家都尝试过。我想这个答案是针对世界上没有输出的读者。

答案 3 :(得分:1)

需要对这些内容进行试验,取自Jetbrain blog

  
      
  1. 删除所有断点
  2.   
  3. 关闭跟踪例外
  4.   
  5. 没有运行时类型见解
  6.   

但是也要看看禁用Django模型检查等以加快速度。

我使用补丁来加速测试用例,运行速度提高了10倍。 所以,如果你做TDD,功能不如视图重。它可以让你快速解决bug。