WTFIX icon indicating copy to clipboard operation
WTFIX copied to clipboard

Switch Redis library

Open jeremysprofile opened this issue 2 years ago • 0 comments

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

jeremysprofile avatar Aug 24 '23 15:08 jeremysprofile