일지

2023.06.23

scarlet0star 2023. 6. 26. 00:24

버전 관리?의 중요성.

 

지난번에 썼던 것처럼 채팅방의 인원수를 체크하기 위해서 방법을 찾아보고 있었는데, 그냥 Redis를 이용해서 출력하는 방법이 있음을 알았다. 어차피 인원수는 누군가 들어오거나 나갈 때만 변동이 있으므로, 그 때마다 redis에 저장된 키에 값을 올리거나 줄인 후 값을 다시 메세지로 보내면 분명 될 것이라 생각했다.

 

이때 사용할 라이브러리는 aioredis 였는데 코드를 완전히 다 적고 실행했을 때 생전 처음보는 오류코드를 발견했다. 무슨 문제인지 당황하여 찾아보니...

https://github.com/aio-libs/aioredis-py/issues/1409

 

Library not works with Python 3.11 · Issue #1409 · aio-libs/aioredis-py

Describe the bug When running library with Python 3.11 I got this error: class TimeoutError(asyncio.TimeoutError, builtins.TimeoutError, RedisError): TypeError: duplicate base class TimeoutError To...

github.com

 

더 이상 aioredis가 python 3.11에서 지원하지 않는다는 것. 허무함과 당혹스러움이 덮쳤지만, 위 링크에서 redis 라이브러리를 그냥 대신 사용하면 된다는 코멘트에 따라 redis 라이브러리에 맞게 메서드를 고친 후에야 정상적으로 동작하는 것을 확인 할 수 있었다.

 

괜히 사람들이 구버전으로 쓰는게 아니구나 싶었다. 그냥 업데이트 해버렸다가 지원하지 않는 라이브러리들과 힘싸움을 해야할 생각을 한다면 말이다...