我 已经 安装 了 Django-Channels , 但 在 运行 daphne 服务 器 时 , 我 得到 了 下面 给出 的 这个 错误 :
File "/usr/local/lib/python2.7/dist-packages/channels/asgi.py", line 36, in make_backend
"Cannot import BACKEND %r specified for %s" % (self.configs[name]['BACKEND'], name)
channels.asgi.InvalidChannelLayerError: Cannot import BACKEND 'asgi_redis.RedisChannelLayer' specified for default
中 的 每 一 个
My settings.py is:
CHANNEL_LAYERS = {
"default": {
"BACKEND": "asgi_redis.RedisChannelLayer",
"CONFIG": {
"hosts": [os.environ.get('REDIS_URL', 'redis://X.X.X.X:6379')],
},
"ROUTING": "MyProject.routing.channel_routing",
},
}
格式
需要 解决 此 错误 的 帮助 。
8条答案
按热度按时间sqserrrh1#
关于Utkarsh的回复,已将其重命名为:
0md85ypi2#
只需要安装'asgi_redis'。我以为在安装Django-Channels的时候默认会安装它,但是它没有。默认会安装'asgiref'而不是'asgi_redis'。所以要解决这个问题,可以运行:
jv2fixgn3#
我在使用django-channels时也遇到了同样的问题,按照文档示例https://channels.readthedocs.io/en/latest/tutorial/index.html,你只需要安装channels-redis就可以了
pip安装通道-redis
以解决此问题。
amrnrhlw4#
对于 asgiref-2.3.2 或更多版本,您需要安装 channel_redis。
而不是 asgi_redis。
qyyhg6bp5#
遇到 了 类似 的 问题 。 通过 安装 channels _ redis 解决 了 这个 问题 :
中 的 每 一 个
在 设置 中 也 使用 通道 红色 :
格式
busg9geu6#
在我的例子中,asgiref版本2. 3. 2不兼容。我将其降级如下,然后我的代码就可以工作了。
pgvzfuti7#
这对我很有帮助。
1aaf6o9v8#
我 知道 这 是 一 个 老 职位 , 但是 , 我 得到 了 同样 的 问题 , 我 从 这个 链接 得到 了 解决 方案 :
https://github.com/django/channels_redis/issues/113#issuecomment-405071710
根据 安德鲁 · 戈德温 他 说
" * * asgi-redis * * 是 一 个 过时 的 程序 包 ( channels _ redis 的 上 一 版本 ) 。 您 可以 卸载 它 来 解决 此 错误 。 "
这 对 我 很 有效