pipenv fails to resolve my dependencies, showing a spurious dependency even though it does not show up in the dependency graph:
stavros@zeus:~/C/P/wshlst-server (master|✚4)
00:18:52 $ pipenv install
Pipfile.lock not found, creating…
Locking [dev-packages] dependencies…
Locking [packages] dependencies…
Warning: Your dependencies could not be resolved. You likely have a mismatch in your sub-dependencies.
You can use $ pipenv install --skip-lock to bypass this mechanism, then run $ pipenv graph to inspect the situation.
Could not find a version that matches cryptography<1.0,>=1.7.2,>=1.8.1,>=1.8.2,>=1.9
Tried: 0.1, 0.2, 0.2, 0.2, 0.2, 0.2, 0.2.1, 0.2.1, 0.2.1, 0.2.1, 0.2.1, 0.2.2, 0.2.2, 0.2.2, 0.2.2, 0.2.2, 0.3, 0.3, 0.3, 0.3, 0.3, 0.3, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.4, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.1, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.2, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.3, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.5.4, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.6.1, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.1, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.7.2, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.1, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.8.2, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9, 0.9.1, 0.9.1, 0.9.1, 0.9.1, 0.9.1, 0.9.1, 0.9.1, 0.9.1, 0.9.1, 0.9.2, 0.9.2, 0.9.2, 0.9.2, 0.9.2, 0.9.2, 0.9.2, 0.9.2, 0.9.2, 0.9.3, 0.9.3, 0.9.3, 0.9.3, 0.9.3, 0.9.3, 0.9.3, 0.9.3, 0.9.3, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.1, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.0.2, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.1, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.1, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.2, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.2.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.1, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.2, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.3, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.3.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.4, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.1, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.2, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.5.3, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.6, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.1, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.7.2, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.1, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.8.2, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 1.9, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.1, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.2, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.0.3, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.1, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.2, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.3, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4, 2.1.4
stavros@zeus:~/C/P/wshlst-server (master|✚4)
00:19:22 $ pipenv graph
curequests==0.4.0
- curio [required: Any, installed: 0.9]
- httptools [required: Any, installed: 0.0.10]
- namedlist [required: Any, installed: 1.7]
- requests [required: Any, installed: 2.18.4]
- certifi [required: >=2017.4.17, installed: 2018.1.18]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.7, installed: 2.6]
- urllib3 [required: <1.23,>=1.21.1, installed: 1.22]
- yarl [required: Any, installed: 1.1.1]
- idna [required: >=2.0, installed: 2.6]
- multidict [required: >=4.0, installed: 4.1.0]
django-extensions==2.0.5
- six [required: >=1.2, installed: 1.11.0]
django-push-notifications==1.6.0
- apns2 [required: >=0.3.0, installed: 0.3.0]
- cryptography [required: >=1.7.2, installed: 2.1.4]
- asn1crypto [required: >=0.21.0, installed: 0.24.0]
- cffi [required: >=1.7, installed: 1.11.5]
- pycparser [required: Any, installed: 2.18]
- idna [required: >=2.1, installed: 2.6]
- six [required: >=1.4.1, installed: 1.11.0]
- hyper [required: >=0.7, installed: 0.7.0]
- h2 [required: >=2.4,<3.0, installed: 2.6.2]
- hpack [required: <4,>=2.2, installed: 3.0.0]
- hyperframe [required: >=3.1,<6,!=4.0.0, installed: 3.2.0]
- hyperframe [required: <4.0,>=3.2, installed: 3.2.0]
- PyJWT [required: >=1.4.0, installed: 1.6.0]
- Django [required: >=1.11, installed: 2.0.3]
- pytz [required: Any, installed: 2018.3]
- pywebpush [required: >=1.3.0, installed: 1.6.1]
- cryptography [required: >=1.8.1, installed: 2.1.4]
- asn1crypto [required: >=0.21.0, installed: 0.24.0]
- cffi [required: >=1.7, installed: 1.11.5]
- pycparser [required: Any, installed: 2.18]
- idna [required: >=2.1, installed: 2.6]
- six [required: >=1.4.1, installed: 1.11.0]
- http-ece [required: >=1.0.1, installed: 1.0.5]
- cryptography [required: >=1.9, installed: 2.1.4]
- asn1crypto [required: >=0.21.0, installed: 0.24.0]
- cffi [required: >=1.7, installed: 1.11.5]
- pycparser [required: Any, installed: 2.18]
- idna [required: >=2.1, installed: 2.6]
- six [required: >=1.4.1, installed: 1.11.0]
- py-vapid [required: >=1.3.0, installed: 1.3.0]
- cryptography [required: >=1.8.2, installed: 2.1.4]
- asn1crypto [required: >=0.21.0, installed: 0.24.0]
- cffi [required: >=1.7, installed: 1.11.5]
- pycparser [required: Any, installed: 2.18]
- idna [required: >=2.1, installed: 2.6]
- six [required: >=1.4.1, installed: 1.11.0]
- ecdsa [required: ==0.13, installed: 0.13]
- requests [required: >=2.13.0, installed: 2.18.4]
- certifi [required: >=2017.4.17, installed: 2018.1.18]
- chardet [required: >=3.0.2,<3.1.0, installed: 3.0.4]
- idna [required: >=2.5,<2.7, installed: 2.6]
- urllib3 [required: <1.23,>=1.21.1, installed: 1.22]
django-redis==4.9.0
- Django [required: >=1.11, installed: 2.0.3]
- pytz [required: Any, installed: 2018.3]
- redis [required: >=2.10.0, installed: 2.10.6]
pipenv==11.6.8
- certifi [required: Any, installed: 2018.1.18]
- pip [required: >=9.0.1, installed: 9.0.1]
- setuptools [required: >=36.2.1, installed: 38.5.2]
- virtualenv [required: Any, installed: 15.1.0]
- virtualenv-clone [required: >=0.2.5, installed: 0.3.0]
pkg-resources==0.0.0
psycopg2-binary==2.7.4
pytest-cov==2.5.1
- coverage [required: >=3.7.1, installed: 4.5.1]
- pytest [required: >=2.6.0, installed: 3.4.2]
- attrs [required: >=17.2.0, installed: 17.4.0]
- pluggy [required: <0.7,>=0.5, installed: 0.6.0]
- py [required: >=1.5.0, installed: 1.5.2]
- setuptools [required: Any, installed: 38.5.2]
- six [required: >=1.10.0, installed: 1.11.0]
raven==6.6.0
schema==0.6.7
shortuuid==0.5.0
uWSGI==2.0.17
Werkzeug==0.14.1
whitenoise==3.3.1
stavros@zeus:~/C/P/wshlst-server (master|✚4)
00:20:04 $ cat Pipfile
[[source]]
url = "https://pypi.python.org/simple"
name = "pypi"
verify_ssl = true
[dev-packages]
ipython = "*"
bpython = "*"
pudb = "*"
"flake8" = "*"
isort = "*"
yapf = "*"
[packages]
django = "*"
django-extensions = "*"
"psycopg2-binary" = "*"
shortuuid = "*"
whitenoise = "*"
pytest = "*"
pytest-cov = "*"
raven = "*"
django-redis = "*"
werkzeug = "*"
uwsgi = "*"
schema = "*"
django-push-notifications = "*"
curio = "*"
curequests = "*"
You have an unresolvable dependency graph. Please read the error messages.
I did read the error messages. I don't see cryptography<1.0
specified anywhere in the graph?
one of your dependencies declares it. We don't make things up.
I'd start checking setup.py's or running pipenv lock --verbose
.
hyper==0.7.0 requires cryptography<1.0;
We really don't have time to be diagnosing dependency graph problems for people. This is your issue, you have the tools to figure it out :)
I would agree, except this wasn't mentioned anywhere in pipenv graph
, which was what pipenv pointed me to.
sorry the free software isn't meeting your expectations
The hyper
module only requires cryptography<1.0
for the PyPy
platform, which I'm not running under. That dependency shouldn't be selected by pipenv:
we resolve the graph for all platforms.
our resolver is far from perfect, but it's the best we can do, given our current constraints.
Hello,
Small question here, I didn't find the answer in the doc.
When installing a package with pipenv it adds a "package" = "*" in the Pipfile, which always resolve to the latest version.
So if I install another package with a dependency to this package lower than the latest i get a conflict.
Is it the intended behavior ?
In my case the pillow package "pillow" = "*" resolve to ==5.2.0 and the django-versatileimagefield dependency to pillow resolve to <=5.0.0
Regards,
Alti.
If running pipenv lock --verbose
is the correct command to start investigating the problem then it should be included in the error message. Similarly to @skorokithakis I was looking through the graph and it was entirely unhelpful
@skorokithakis just as a followup (not sure if this was mentioned) the hyper/h2 version dependencies have been a continuing problem for me due to the fact that many libraries rely on severely outdated, non-backwards-compatible versions of hyperframe.
ie. https://github.com/jazzband/django-push-notifications/issues/520
Unfortunately pipenv isn't the cause, just the bearer of bad news for us! and, we should appreciate @ken-reitz and friends for putting the time in to improve these systems :)
Most helpful comment
If running
pipenv lock --verbose
is the correct command to start investigating the problem then it should be included in the error message. Similarly to @skorokithakis I was looking through the graph and it was entirely unhelpful