我有一个中等规模的网站,但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,我认为运行速度更快。
答案 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:
- 删除所有断点
- 关闭跟踪例外
- 没有运行时类型见解
醇>
但是也要看看禁用Django模型检查等以加快速度。
我使用补丁来加速测试用例,运行速度提高了10倍。 所以,如果你做TDD,功能不如视图重。它可以让你快速解决bug。