【问题标题】:_frozen_importlib._DeadlockError: deadlock detected by _ModuleLock('django.test.signals') at 140668266856120_frozen_importlib._DeadlockError:_ModuleLock('django.test.signals') 在 140668266856120 检测到死锁
【发布时间】:2019-12-28 08:03:50
【问题描述】:

当我选择python manage.py runserver 时出现此错误

error - 
    _frozen_importlib._DeadlockError: deadlock detected by _ModuleLock('django.test.signals') at 140668266856120

请帮帮我。 我看到了其他问题,但它说同一个模型被多次调用或同一个数据库表被多次调用。

【问题讨论】:

  • 作为测试,您是否删除了项目中的迁移文件?请记住,永远不要删除迁移文件夹中的 init.py 文件
  • 是的,我在删除迁移文件后尝试过,而 init.py 文件保持不变。但这并没有解决问题。
  • 我用相同的代码分别制作了另一个项目和另一个应用程序,它工作正常。我不知道确切......为什么会这样。它使用相同的代码,但在同一位置的不同应用程序和项目中工作。 (仅供参考)
  • 如果您使用的是虚拟环境,只需删除您的 venv 并重新创建另一个。
  • 好吧...让我检查一下@Erfan37

标签: python django django-rest-framework django-views restframeworkmongoengine


【解决方案1】:

您可以通过将 Django 版本升级到 2.2.24 来解决此问题,如下所示:

pip install --upgrade django==2.2.24

【讨论】:

    【解决方案2】:

    所以这个问题很可能是循环导入的结果 - 也就是说,您在一个模块中导入了一个模块,而在该模块中您又导入了另一个。

    如:

    内部notifications/serializers.py

    from books.serializers import BookSerializer
    

    books/serializers.py里面:

    from notifications.serializers import NotificationSerializer
    

    因此,这会导致死锁错误...而且很难确定循环导入,因为它不会告诉您循环导入发生在哪里。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2014-08-14
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-09-04
      • 1970-01-01
      • 2019-04-26
      • 1970-01-01
      相关资源
      最近更新 更多