Django 频道:没有名为 'asgiref.sync' 的模块

Django channels: No module named 'asgiref.sync'

我正在按照本频道教程指南 (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)
...

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

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

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

之后可用