Django 4 Pycharm 调试器错误:无法在 '' 中找到 '__main__' 模块

Tan*_*lam 5 pycharm django-4.0

当我按下 pycharm 的绿色播放按钮时,我的 Django 项目正常工作。但是当单击调试按钮时,它会显示can't find '__main__' module in ''.

我做了一点 RCA,发现在使用调试选项运行时__spec__被设置为打开。__main__

这是相关的代码段/lib/python3.8/site-packages/django/utils/autoreload.py

# __spec__ is set when the server was started with the `-m` option,
# see https://docs.python.org/3/reference/import.html#main-spec
# __spec__ may not exist, e.g. when running in a Conda env.
if getattr(__main__, '__spec__', None) is not None:
    spec = __main__.__spec__
    if (spec.name == '__main__' or spec.name.endswith('.__main__')) and spec.parent:
        name = spec.parent
    else:
        name = spec.name
    args += ['-m', name]
    args += sys.argv[1:]
Run Code Online (Sandbox Code Playgroud)

请帮助我找到解决方法,以便使用 PyCharm 的调试功能。

Django版本:4.0.1

Python版本:3.8.6

PyCharm 2021.2(社区版)

nou*_*men 8

TL:DR - 尝试更新 PyCharm

遇到了同样的问题,Django、Python 和 PyCharm 的版本几乎相同。尝试了很多方法来解决它,但唯一有效的方法是......更新 PyCharm;)venv我认为这是一个问题,因为当我将解释器更改为任何其他(例如来自其他 django 项目)时,它可以使用其中一些,但不是全部(尽管是相同的包)。当我使用调试器深入挖掘时,问题似乎是在该属性之后添加'-m''__main__'到容器中。使用其他一些 venv 时,除了运行良好之外,它没有添加任何内容。我想简单地开始新项目或重新创建 venv,但首先我已经更新了 PyCharm。重新启动 PyCharm 一次(我不知道如何,但是......)它开始正常工作。现在它没有添加任何其他参数......args'__spec__''runserver'args