【问题标题】:Django channels: No module named 'asgiref.sync'Django 频道:没有名为“asgiref.sync”的模块
【发布时间】:2018-08-21 01:45:27
【问题描述】:

我正在关注频道教程 (https://media.readthedocs.org/pdf/channels/latest/channels.pdf) 的本指南,在将频道添加到 INSTALLED APPS 的顶部后,将 ASGI_APPLICATION = 'mysite.routing.application' 添加到我的设置文件并创建以下 routing.py

# .../routing.py
from channels.routing import ProtocolTypeRouter

application = ProtocolTypeRouter({
      # (http->django views is added by default)
})

运行python manage.py runserver后出现此错误:

ModuleNotFoundError: No module named 'asgiref.sync'

我有以下版本的库:

Django (1.11.5)
asgiref (1.1.2)
channels (2.0.2)
...

有人可以帮助我吗?我是频道新手。

【问题讨论】:

    标签: python django django-channels


    【解决方案1】:

    我发现问题出在旧版本的 asgiref 上,我只需要更新 django,它还更新了 asgiref 包。

    【讨论】:

      【解决方案2】:

      Django 3.0 以后支持异步模块。所以 asgiref 模块将在 django 版本>=3.0

      之后可用

      【讨论】:

      • 您的答案可以通过额外的支持信息得到改进。请edit 添加更多详细信息,例如引用或文档,以便其他人可以确认您的答案是正确的。你可以找到更多关于如何写好答案的信息in the help center
      猜你喜欢
      • 2019-07-30
      • 1970-01-01
      • 1970-01-01
      • 2018-04-11
      • 1970-01-01
      • 1970-01-01
      • 2012-10-21
      • 1970-01-01
      • 2013-07-17
      相关资源
      最近更新 更多