Django——ModuleNotFoundError: No module named 'asgiref.sync'

Django+channels运行时报错

Unhandled exception in thread started by <function check_errors.<locals>.wrapper at 0x7f267151a840>
Traceback (most recent call last):
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/utils/autoreload.py", line , in wrapper
fn(*args, **kwargs)
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/core/management/commands/runserver.py", line , in inner_run
autoreload.raise_last_exception()
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/utils/autoreload.py", line , in raise_last_exception
six.reraise(*_exception)
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/utils/six.py", line , in reraise
raise value.with_traceback(tb)
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/utils/autoreload.py", line , in wrapper
fn(*args, **kwargs)
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/__init__.py", line , in setup
apps.populate(settings.INSTALLED_APPS)
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/django/apps/registry.py", line , in populate
app_config.ready()
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/channels/apps.py", line , in ready
monkeypatch_django()
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/channels/hacks.py", line , in monkeypatch_django
from .management.commands.runserver import Command as RunserverCommand
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/channels/management/commands/runserver.py", line , in <module>
from channels.routing import get_default_application
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/channels/routing.py", line , in <module>
from channels.http import AsgiHandler
File "/root/ENVS/dj11.7/lib/python3.7/site-packages/channels/http.py", line , in <module>
from asgiref.sync import async_to_sync, sync_to_async
ModuleNotFoundError: No module named 'asgiref.sync'

解决:

pip install asgiref==2.1.

应该是默认的asgiref版本不对,需要手动指定版本

上一篇:Java 测试驱动开发--“井字游戏” 游戏实战


下一篇:键值集合List转换成datatable