django - PyCharm + Python 3.6 + Django + 调试 + 生成器 == 痛苦的世界

标签 django python-3.x pycharm

我有这个问题一段时间了,启动 django 的内部服务器(runserver)变得几乎无法使用,因为控制台中报告了很多这样的错误:

Exception ignored in: <generator object SQLCompiler.setup_query.<locals>.<genexpr> at 0x2F2DE360>
Traceback (most recent call last):
  File "C:\Python36\lib\site-packages\django\db\models\sql\compiler.py", line 39, in <genexpr>
    if all(self.query.alias_refcount[a] == 0 for a in self.query.alias_map):
SystemError: error return without exception set

基本上,这些是未使用的生成器,Python(至少 3.5 及更高版本)将此报告到控制台。而且有很多!

这基本上占用了为应用程序服务的 python 进程以及试图在控制台 View 中显示所有这些错误的 PyCharm 进程。因此,在糟糕的一天,应用程序的速度会变成正常速度的 10%。

我目前正在通过在 stderr 上实现一个过滤器来减轻这个问题,这至少使控制台输出再次可用。它也有助于 CPU 使用,但问题是这些异常仍然会发生并触发 PyCharm 的钩子(Hook)。结果,CPU 使用率仍然很高,尽管不再疯狂。

我怎样才能永久摆脱这个?提议的解决方案中接受任何对“摆脱”的解释。

最佳答案

这似乎是 PyCharm 的一个问题。

尝试设置环境变量PYDEVD_USE_FRAME_EVAL=NO ,如 this ticket on the PyCharm Issue Tracker 中的建议.

关于django - PyCharm + Python 3.6 + Django + 调试 + 生成器 == 痛苦的世界,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51190562/

相关文章:

python - Pycharm 中的 Pygame 文档

python - Django 上的用户角色架构

django - 如何反转管理员操作的 URL?

python - 使用 Django 模型表单 + 表单向导 + Crispy - 不进行第二步

python - 在 python 中创建切片对象

python-3.x - Python Poloniex API 调用

python - PyCharm 认为 int/float 没有实现 __div__ 的那一天

Python 警告 "' str' is not callable"when calling a function

django - 两个注释之间的划分

python - 列中除某些词外的标题词