2021년 12월 29일자 기준
Python version : 3.10.0
Django Channels 튜토리얼 진행하다가 아주 킹받는 상황을 맞이했다.
파트 2에서 redis 연동 및 테스트 진행하는데
Python 쉘에서 아래와 같은 redis 테스트 진행하다가
>>> async_to_sync(channel_layer.send)('test_channel', {'type': 'hello'})
아래와 같은 에러를 토해냈다.
...
self._cond = asyncio.Condition(lock=Lock())
File "/Library/Frameworks/Python.framework/Versions/3.10/lib/python3.10/asyncio/locks.py", line 234, in __init__
raise ValueError("loop argument must agree with lock")
ValueError: loop argument must agree with lock
구글링해서 찾아보니
https://githubmate.com/repo/django/channels_redis/activity?page=10
자세히 읽어보진 않았지만 Python 3.10.0 상에서의 버그 같아 보인다...
Python 3.10.0 버전에서 2021년 12월 29일자 Python 최신버전인 3.10.1로 업데이트 후
진행하면 이상없이 넘어간다.
'Python > Django' 카테고리의 다른 글
Django + Channels (Redis) + Gunicorn + Uvicorn + Nginx 채팅 개발 시, 참고할 사항 (0) | 2023.07.10 |
---|