Closed edsu closed 7 months ago
This occurs with older versions of pip too. It seems the way dependency conflicts are handled has changed.
# python3.9 -m pip --version
pip 20.2.4 from /usr/lib/python3.9/site-packages/pip (python 3.9)
# python3.9 -m pip install pywb
...
ERROR: After October 2020 you may experience errors when installing or updating packages. This is because pip will change the way that it resolves dependency conflicts.
We recommend you use --use-feature=2020-resolver to test your packages with the new resolver before it becomes the default.
fakeredis 0.16.0 requires redis<3, but you'll have redis 5.0.4 which is incompatible
# pywb
...
ImportError: cannot import name 'dummy' from 'redis.utils'
Upgrading pip resolves it:
# python3.9 -m pip install --upgrade pip
Successfully installed pip-24.0
# python3.9 -m pip install pywb
Installing collected packages: redis
Attempting uninstall: redis
Found existing installation: redis 5.0.4
Uninstalling redis-5.0.4:
Successfully uninstalled redis-5.0.4
Successfully installed redis-2.10.6
I don't think upgrading poetry resolves it though.
Thanks for the patch! Released in 2.8.1: https://github.com/webrecorder/pywb/releases/tag/v-2.8.1
edit: now 2.8.3, had a few issues with the PyPI release action 😅
When running
wayback
with Python v3.11.9 I'm seeing this error:I am using poetry to manage my environment, with this configuration.
If you want to replicate you can:
However, I noticed that using a stock pyenv with pip works fine:
For whatever reason poetry seems to be pulling in the most recent version of redis (v5.0.4), whereas pip is installing v2.10.6. Perhaps the redis version should be pinned to support the old version of fakeredis that is pinned?
https://github.com/webrecorder/pywb/blob/b9f1609df920ee718237a4426d447111a850fa8e/requirements.txt#L4