没有名为 'asgiref.base_layer' 的模块
No module named 'asgiref.base_layer'
启动我的服务器(python manage.py 运行 服务器)时出现以下错误。
文件“/Users/thomasallen/PycharmProjects/Channels_and_Signals/venv/lib/python3.9/site-packages/asgi_redis/core.py”,第 19 行,在
来自 asgiref.base_layer 导入 BaseChannelLayer
ModuleNotFoundError:没有名为 'asgiref.base_layer'
的模块
.../core.py 中有问题的第 19 行是
from asgiref.base_layer import BaseChannelLayer
我安装的包有:
姜戈 3.2.4
频道 3.0.3
频道重做 3.2.0
渴望 3.3.4
asgi-redis 1.1.0
我不确定哪里不匹配。
这是因为 asgi_redis
1.1.0 依赖于旧版本的 asgiref
(在他们的 setup.py 中没有上限列出为 asgiref>=1.0.0
)曾经有这个代码。但是你安装了更新的版本,因为 Django 依赖于 asgiref >= 3.3.2
.
你不应该同时安装 asgi_redis
和 channels_redis
,它们是同一个包的不同版本。请参阅 channels_redis git repo 中的注释:
Note: Prior versions of this package were called asgi_redis
and are still available under PyPI as that name if you need them for Channels 1.x projects. This package is for Channels 2 projects only.
您的解决方案是不使用 asgi_redis
而是使用 channels_redis
。
启动我的服务器(python manage.py 运行 服务器)时出现以下错误。
文件“/Users/thomasallen/PycharmProjects/Channels_and_Signals/venv/lib/python3.9/site-packages/asgi_redis/core.py”,第 19 行,在 来自 asgiref.base_layer 导入 BaseChannelLayer ModuleNotFoundError:没有名为 'asgiref.base_layer'
的模块.../core.py 中有问题的第 19 行是
from asgiref.base_layer import BaseChannelLayer
我安装的包有: 姜戈 3.2.4 频道 3.0.3 频道重做 3.2.0 渴望 3.3.4 asgi-redis 1.1.0
我不确定哪里不匹配。
这是因为 asgi_redis
1.1.0 依赖于旧版本的 asgiref
(在他们的 setup.py 中没有上限列出为 asgiref>=1.0.0
)曾经有这个代码。但是你安装了更新的版本,因为 Django 依赖于 asgiref >= 3.3.2
.
你不应该同时安装 asgi_redis
和 channels_redis
,它们是同一个包的不同版本。请参阅 channels_redis git repo 中的注释:
Note: Prior versions of this package were called
asgi_redis
and are still available under PyPI as that name if you need them for Channels 1.x projects. This package is for Channels 2 projects only.
您的解决方案是不使用 asgi_redis
而是使用 channels_redis
。