J'ai installé Redis version 4.0.9 dans un sous-système Ubuntu Linux sous Windows 10 en suivant ces instructions (I.E. Sudo apt-get install redis-server
).
Je suis suivant ce tutoriel sur Django canaux, et j'ai exécuté le code suivant:
>>> import channels.layers
>>> channel_layer = channels.layers.get_channel_layer()
>>> from asgiref.sync import async_to_sync
>>> async_to_sync(channel_layer.send)('test_channel', {'type': 'hello'})
>>> async_to_sync(channel_layer.receive)('test_channel')
Lorsque la dernière ligne ci-dessus est exécutée, je reçois cette erreur:
Traceback (most recent call last):
File "<input>", line 1, in <module>
File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\asgiref\sync.py", line 120, in __call__
return call_result.result()
File "C:\Users\xyz\Anaconda3\envs\Django\lib\concurrent\futures\_base.py", line 425, in result
return self.__get_result()
File "C:\Users\xyz\Anaconda3\envs\Django\lib\concurrent\futures\_base.py", line 384, in __get_result
raise self._exception
File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\asgiref\sync.py", line 180, in main_wrap
result = await self.awaitable(*args, **kwargs)
File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\channels_redis\core.py", line 485, in receive
return (await self.receive_single(channel))[1]
File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\channels_redis\core.py", line 508, in receive_single
index, channel_key, timeout=self.brpop_timeout
File "C:\Users\xyz\Anaconda3\envs\Django\lib\site-packages\channels_redis\core.py", line 345, in _brpop_with_clean
result = await connection.bzpopmin(channel, timeout=timeout)
aioredis.errors.ReplyError: ERR unknown command 'BZPOPMIN'
Sur cette page , quelqu'un a suggéré d'utiliser Redis Version 5. Comment installer Redis version 5 sur Windows 10? Toute autre idée sur la manière de résoudre ce problème?
Problème est avec la version. Essayez l'aîné que j'ai trouvé "2,3,4" toute version avec elle stable et fonctionnant correctement. https://github.com/tporadowski/redis/relases
C'est comme ça que je résout ce problème. Ubuntu 18 installe ReDIS 4 mais Ubuntu 20 Installe ReDIS 5. Vous pouvez trouver votre version ReDIS en tapant redis-cli -v
. Donc, je désinstallez Ubuntu 18 de mon sous-système Windows pour Linux (WSL) et réinstallez Ubuntu 20. Cela a fonctionné simplement.