[Fixed]-Django Channels Error – Cannot import BACKEND 'asgi_redis.RedisChannelLayer'


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


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

pip install channels-redis


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.



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

NOT asgi_redis.

pip install channel_redis


Faced the similar issue. Solved it by installing channels_redis:

pip install channels_redis

Also using channel redis in setting too:

    'default': {
        'BACKEND': 'channels_redis.core.RedisChannelLayer',
        'CONFIG': {
            'hosts': [('localhost', 6379)],
    'ROUTING': 'ws.routing.application',


That did the thing for me.

daphne = "~=3.0.2"
channels = "~=3.0.4"
channels-redis = "~=3.3.1"
async-timeout = "~=3.0.1"


In my case asgiref version 2.3.2 was not compatible. I downgraded it as follows and then my code worked.

pip install asgiref==1.0.0


I know this is an old post, however, I got the same problem and I got the solution from this link:


based on Andrewgodwin he says:

"asgi-redis is an outdated package (the previous version of channels_redis). You can uninstall it to solve this error."

and that worked for me

Leave a comment