WTFIX
WTFIX copied to clipboard
Switch Redis library
The aioredis package has stopped working on Python 3.11+: https://github.com/aio-libs-abandoned/aioredis-py/issues/1409, giving an error when trying to python run_client.py (logs below). The package has been deprecated and has instructions on updating to the replacement package: https://github.com/aio-libs-abandoned/aioredis-py#-aioredis-is-now-in-redis-py-420rc1-
2023-08-24 09:29:07,968 - MainThread - base_events - DEBUG - Close <_UnixSelectorEventLoop running=False closed=False debug=True>
Traceback (most recent call last):
File "/Users/jrichards/dev/run_client.py", line 132, in <module>
asyncio.run(main())
File "/Users/jrichards/.pyenv/versions/3.11.2/lib/python3.11/asyncio/runners.py", line 190, in run
return runner.run(main)
^^^^^^^^^^^^^^^^
File "/Users/jrichards/.pyenv/versions/3.11.2/lib/python3.11/asyncio/runners.py", line 118, in run
return self._loop.run_until_complete(task)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jrichards/.pyenv/versions/3.11.2/lib/python3.11/asyncio/base_events.py", line 653, in run_until_complete
return future.result()
^^^^^^^^^^^^^^^
File "/Users/jrichards/dev/run_client.py", line 79, in main
fix_pipeline = BasePipeline(
^^^^^^^^^^^^^
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/wtfix/pipeline.py", line 49, in __init__
self._installed_apps = self._load_apps(installed_apps=installed_apps, **kwargs)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/wtfix/pipeline.py", line 84, in _load_apps
class_ = get_class_from_module_string(app)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/wtfix/core/klass.py", line 24, in get_class_from_module_string
module = importlib.import_module(mod_name)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "/Users/jrichards/.pyenv/versions/3.11.2/lib/python3.11/importlib/__init__.py", line 126, in import_module
return _bootstrap._gcd_import(name[level:], package, level)
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "<frozen importlib._bootstrap>", line 1206, in _gcd_import
File "<frozen importlib._bootstrap>", line 1178, in _find_and_load
File "<frozen importlib._bootstrap>", line 1149, in _find_and_load_unlocked
File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
File "<frozen importlib._bootstrap_external>", line 940, in exec_module
File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/wtfix/apps/brokers.py", line 19, in <module>
import aioredis
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/aioredis/__init__.py", line 1, in <module>
from aioredis.client import Redis, StrictRedis
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/aioredis/client.py", line 32, in <module>
from aioredis.connection import (
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/aioredis/connection.py", line 33, in <module>
from .exceptions import (
File "/Users/jrichards/dev/py3/lib/python3.11/site-packages/aioredis/exceptions.py", line 14, in <module>
class TimeoutError(asyncio.TimeoutError, builtins.TimeoutError, RedisError):
TypeError: duplicate base class TimeoutError