Hi folks, a colleague of mine reported a weird issue with the new resolver.
I could confirm it with pip master, today. Python 3.8 on Linux.
Using the following requirements.txt:
asgiref==3.3.1
cffi==1.14.4
cryptography==3.2.1
Django==3.1.3
djangorestframework==3.12.2
drf-jwt==1.17.2
pycparser==2.20
PyJWT==1.7.1
pytz==2020.4
six==1.15.0
sqlparse==0.4.1
pip install -r requirements.txt works fine.
However when building wheels then installing all wheels from the wheelhouse, this fails:
$ pip wheel -r requirements.txt --wheel-dir=wheelhouse
$ pip install wheelhouse/*.whl
Processing ./release/asgiref-3.3.1-py3-none-any.whl
Processing ./release/cffi-1.14.4-cp38-cp38-manylinux1_x86_64.whl
Processing ./release/cryptography-3.2.1-cp35-abi3-manylinux2010_x86_64.whl
Processing ./release/djangorestframework-3.12.2-py3-none-any.whl
Processing ./release/Django-3.1.3-py3-none-any.whl
Processing ./release/drf_jwt-1.17.2-py2.py3-none-any.whl
Processing ./release/pycparser-2.20-py2.py3-none-any.whl
Processing ./release/PyJWT-1.7.1-py2.py3-none-any.whl
Processing ./release/pytz-2020.4-py2.py3-none-any.whl
Processing ./release/six-1.15.0-py2.py3-none-any.whl
Processing ./release/sqlparse-0.4.1-py3-none-any.whl
Collecting PyJWT[crypto]<2.0.0,>=1.5.2
Using cached PyJWT-1.7.1-py2.py3-none-any.whl (18 kB)
Using cached PyJWT-1.7.0-py2.py3-none-any.whl (18 kB)
Using cached PyJWT-1.6.4-py2.py3-none-any.whl (19 kB)
Using cached PyJWT-1.6.3-py2.py3-none-any.whl (19 kB)
Using cached PyJWT-1.6.1-py2.py3-none-any.whl (18 kB)
Using cached PyJWT-1.6.0-py2.py3-none-any.whl (18 kB)
Using cached PyJWT-1.5.3-py2.py3-none-any.whl (17 kB)
Using cached PyJWT-1.5.2-py2.py3-none-any.whl (17 kB)
INFO: pip is looking at multiple versions of <Python from Requires-Python> to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of sqlparse to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of six to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pytz to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pyjwt to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of pycparser to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of drf-jwt to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of djangorestframework to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of django to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cryptography to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of cffi to determine which version is compatible with other requirements. This could take a while.
INFO: pip is looking at multiple versions of asgiref to determine which version is compatible with other requirements. This could take a while.
ERROR: Cannot install pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl), pyjwt[crypto]==1.5.2, pyjwt[crypto]==1.5.3, pyjwt[crypto]==1.6.0, pyjwt[crypto]==1.6.1, pyjwt[crypto]==1.6.3, pyjwt[crypto]==1.6.4, pyjwt[crypto]==1.7.0 and pyjwt[crypto]==1.7.1 because these package versions have conflicting dependencies.
The conflict is caused by:
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.7.1 depends on pyjwt 1.7.1 (from https://files.pythonhosted.org/packages/87/8b/6a9f14b5f781697e51259d81657e6048fd31a113229cf346880bb7545565/PyJWT-1.7.1-py2.py3-none-any.whl#sha256=5c6eca3c2940464d106b99ba83b00c6add741c9becaec087fb7ccdefea71350e (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.7.0 depends on pyjwt 1.7.0 (from https://files.pythonhosted.org/packages/02/9b/16c92330f1fb76e3f6372ba6f804d412ec894ee1d9ea31516269b5f6add4/PyJWT-1.7.0-py2.py3-none-any.whl#sha256=00414bfef802aaecd8cc0d5258b6cb87bd8f553c2986c2c5f29b19dd5633aeb7 (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.6.4 depends on pyjwt 1.6.4 (from https://files.pythonhosted.org/packages/93/d1/3378cc8184a6524dc92993090ee8b4c03847c567e298305d6cf86987e005/PyJWT-1.6.4-py2.py3-none-any.whl#sha256=30b1380ff43b55441283cc2b2676b755cca45693ae3097325dea01f3d110628c (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.6.3 depends on pyjwt 1.6.3 (from https://files.pythonhosted.org/packages/77/11/4ccc1f4f8d812a6459e53f4f33107ae5d25babed9e6c1f0c6923b1fa8966/PyJWT-1.6.3-py2.py3-none-any.whl#sha256=d527c3330d83d7278a0a8ef570b7c9c39fbf2c0c1edbe564a1a8a02d5352322b (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.6.1 depends on pyjwt 1.6.1 (from https://files.pythonhosted.org/packages/31/8f/19c302aa9a391dd1fbd249362b749021b88d40fb59af0363939a2250afed/PyJWT-1.6.1-py2.py3-none-any.whl#sha256=bca523ef95586d3a8a5be2da766fe6f82754acba27689c984e28e77a12174593 (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.6.0 depends on pyjwt 1.6.0 (from https://files.pythonhosted.org/packages/fc/fd/02c195aa48beef5e4b018259634dd885fa1a9df351c708a8486e7ddf2216/PyJWT-1.6.0-py2.py3-none-any.whl#sha256=b752500cafd4df9f0dc6efe9063603e36a4e1a5c24fee48234d2949b6606aa59 (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.5.3 depends on pyjwt 1.5.3 (from https://files.pythonhosted.org/packages/8a/a6/4d931a2c77a224d27c78382f4ce8ec07542d4426ea2793bea77a689273c2/PyJWT-1.5.3-py2.py3-none-any.whl#sha256=a4e5f1441e3ca7b382fd0c0b416777ced1f97c64ef0c33bfa39daf38505cfd2f (from https://pypi.org/simple/pyjwt/))
The user requested pyjwt 1.7.1 (from /home/sbi-local/ACSONE/OpenErp/django-lns/release/PyJWT-1.7.1-py2.py3-none-any.whl)
pyjwt[crypto] 1.5.2 depends on pyjwt 1.5.2 (from https://files.pythonhosted.org/packages/46/63/9e57342802642c447f0620dea41a18033abbb466af9417543295ab56b8b9/PyJWT-1.5.2-py2.py3-none-any.whl#sha256=9e7d780c30cd03bb0d29510b03e09caa95c6d880b3897450eb0f2d1678d3e5b1 (from https://pypi.org/simple/pyjwt/))
To fix this you could try to:
1. loosen the range of package versions you've specified
2. remove package versions to allow pip attempt to solve the dependency conflict
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
There are plenty of workarounds (in this case we should use --no-deps of course), but I thought it might be interesting nevertheless as it might reveal something more significant.
Probably a variant of #8785
Hi All
getting the same error while installing wheel files on EMR
ERROR: Cannot install aiobotocore==1.1.2 and botocore 1.17.63 (from /tmp/pipinstalls/digital-2.2.5/wheelhouse/botocore-1.17.63-py2.py3-none-any.whl) because these package versions have conflicting dependencies.
ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies
@rakekris could you share the command (and any relevant files) you had run, for getting this error?
@rakekris could you share the command (and any relevant files) you had run, for getting this error?
environment : python 3.7 (occurs in 3.6 as well)
sudo python3 -m pip install --upgrade pip
sudo python3 -m pip install /tmp/pipinstalls/digital-2.2.5/wheelhouse/aiobotocore-1.1.2-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/aiohttp-3.7.3-cp37-cp37m-manylinux2014_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/aioitertools-0.7.1-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/async_timeout-3.0.1-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/attrs-20.3.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/boto3-1.14.47-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/botocore-1.17.63-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/certifi-2020.11.8-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/chardet-3.0.4-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/click-7.1.2-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/click_configfile-0.2.3-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/configparser-5.0.1-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/croniter-0.3.34-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/decorator-4.4.2-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/digital-2.2.5-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/docutils-0.15.2-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/fsspec-0.8.4-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/future-0.18.2-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/gitdb-4.0.5-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/GitPython-3.1.11-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/idna-2.10-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/importlib_metadata-3.0.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/Jinja2-2.11.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/jmespath-0.10.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/MarkupSafe-1.1.1-cp37-cp37m-manylinux1_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/more_itertools-8.6.0-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/multidict-5.0.2-cp37-cp37m-manylinux2014_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/natsort-7.1.0-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/networkx-2.4-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/numpy-1.19.4-cp37-cp37m-manylinux2010_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/packaging-20.4-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pandas-1.0.5-cp37-cp37m-manylinux1_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pandasql-0.7.3-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pluggy-0.13.1-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/prison-0.1.3-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/psycopg2_binary-2.8.5-cp37-cp37m-manylinux1_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/py-1.9.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pyfiglet-0.8.post1-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pygrok-1.0.0-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pyparsing-2.4.7-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pytest-5.4.3-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pytest_runner-5.2-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/python_dateutil-2.8.1-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/pytz-2020.4-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/regex-2020.11.13-cp37-cp37m-manylinux2014_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/requests-2.24.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/s3fs-0.5.0-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/s3transfer-0.3.3-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/setuptools-50.3.2-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/setuptools_scm-4.1.2-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/sharp-3.0.0.dev34-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/sharp_cli-3.0.0.dev27-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/sharp_drivers-3.0.0.dev98-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/six-1.15.0-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/smmap-3.0.4-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/SQLAlchemy-1.3.20-cp37-cp37m-manylinux2010_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/tabulate-0.8.7-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/typing_extensions-3.7.4.3-py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/urllib3-1.25.11-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/wcwidth-0.2.5-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/wheel-0.35.1-py2.py3-none-any.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/wrapt-1.12.1-cp37-cp37m-linux_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/yarl-1.6.3-cp37-cp37m-manylinux2014_x86_64.whl /tmp/pipinstalls/digital-2.2.5/wheelhouse/zipp-3.4.0-py3-none-any.whl --upgrade
@rakekris So you're explicitly specifying botocore 1.17.63 but also requesting aiobotocore which declares that it needs a different version. Pip is doing the correct thing and reporting that you have a conflict.
The original report here is different, as it's not about a case where there's an actual version conflict.
@rakekris So you're explicitly specifying botocore 1.17.63 but also requesting aiobotocore which declares that it needs a different version. Pip is doing the correct thing and reporting that you have a conflict.
The original report here is different, as it's not about a case where there's an actual version conflict.
The same error was not seen in pip 20.2.4
@rakekris please see https://pip.pypa.io/en/latest/user_guide/#fixing-conflicting-dependencies.
The same error was not seen in pip 20.2.4
Did you enable the new resolver in 20.2.4? That's the relevant change in 20.3, the new resolver is on by default.
The same error was not seen in pip 20.2.4
Did you enable the new resolver in 20.2.4? That's the relevant change in 20.3, the new resolver is on by default.
No I had not enabled the resolver in 20.2.4, can we disable that in 20.3 ?
@rakekris Please kindly read the documentation page linked above.
Most helpful comment
Did you enable the new resolver in 20.2.4? That's the relevant change in 20.3, the new resolver is on by default.