Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Django Channels Error - Cannot import BACKEND 'asgi_redis.RedisChannelLayer'

I have installed Django-Channels but while running the daphne-server I am getting this error given below:

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",
},
}

Need help in resolving this error.

like image 235
Utkarsh Sinha Avatar asked May 20 '16 09:05

Utkarsh Sinha


4 Answers

In regard to Utkarsh's reply itt's been renamed to:

pip install channels-redis
like image 108
drulang Avatar answered Nov 20 '22 06:11

drulang


Just needed to install 'asgi_redis'. I was assuming that it would have gotten installed by default while installing Django-Channels, but it doesn't. 'asgiref' gets installed by default and not 'asgi_redis'. So to solve this issue, one can just run:

> sudo pip install asgi_redis
like image 21
Utkarsh Sinha Avatar answered Nov 20 '22 04:11

Utkarsh Sinha


I also faced same problem while working with django-channels, by following the documentation examples https://channels.readthedocs.io/en/latest/tutorial/index.html you just need to install channels-redis as

pip install channels-redis

to resolve this issue.

like image 7
Lokesh Avatar answered Nov 20 '22 05:11

Lokesh


With asgiref-2.3.2 and maybe more, you need to install channel_redis.

NOT asgi_redis.

pip install channel_redis
like image 6
jlSta Avatar answered Nov 20 '22 05:11

jlSta