jujubundlelib 0.5.2 has requirement PyYAML==3.11, but you have PyYAML 3.12
simonklb opened this issue · 6 comments
$ pip check
No broken requirements found.
$ pip install juju
Collecting juju
Collecting pyyaml (from juju)
Collecting python-dateutil (from juju)
Using cached python_dateutil-2.6.0-py2.py3-none-any.whl
Collecting theblues (from juju)
Collecting websockets (from juju)
Using cached websockets-3.2-py33.py34.py35-none-any.whl
Collecting six>=1.5 (from python-dateutil->juju)
Using cached six-1.10.0-py2.py3-none-any.whl
Collecting jujubundlelib>=0.4.1 (from theblues->juju)
Collecting requests>=2.1.1 (from theblues->juju)
Using cached requests-2.12.4-py2.py3-none-any.whl
Installing collected packages: pyyaml, six, python-dateutil, jujubundlelib, requests, theblues, websockets, juju
Successfully installed juju-0.1.2 jujubundlelib-0.5.2 python-dateutil-2.6.0 pyyaml-3.12 requests-2.12.4 six-1.10.0 theblues-0.3.8 websockets-3.2
$ pip check
jujubundlelib 0.5.2 has requirement PyYAML==3.11, but you have PyYAML 3.12.
I suspect this is the issue: pypa/pip#988
Anyone know of a reason the bundle lib needs that specific version though?
I don't know why jujubundlelib has pinned to pyyaml 3.11, but generally speaking a library shouldn't do that - it should be left to the application to pin specific versions of dependencies.
You can probably resolve this by pinning to pyyaml 3.11 in your app's requirements.
Perhaps it could be pinned here until it's fixed in the bundle lib. So that others won't have to face the same issue as well. Up to you!
Regarding the pip dependency resolver: please try the beta of the new resolver in pip 20.2 and see whether that helps?
pip 20.3 has the new dependency resolver on by default; please see the documentation on how to test and migrate in case it helps you address this problem.