gmssl icon indicating copy to clipboard operation
gmssl copied to clipboard

Installation fails due to conflicting pbr version

Open NeolithEra opened this issue 5 years ago • 1 comments

Hi, users are unable to run servos-framework due to dependency conflict with pbr package. As shown in the following full dependency graph of servos-framework, servos-framework requires pbr >=1.8,while jsonpath-rw-ext requires pbr >=1.4,<2.0.

According to pip’s “first found wins” installation strategy, pbr 5.4.4 is the actually installed version. However, pbr 5.4.4 does not satisfy >=1.4,<2.0.

Dependency tree-----------

servos-framework - 0.0.1.dev6
| +- pbr(install version:5.4.4 version range:>=1.8)
| +- i18n(install version:0.2 version range:==0.2)
| | +- babel(install version:2.7.0 version range:*)
| | | +- pytz(install version:2019.3 version range:>=0a)
| | +- py(install version:1.8.0 version range:*)
| +- oslo.messaging(install version:5.10.0 version range:==5.10.0)
| | +- amqp(install version:1.4.9 version range:<2.0,>=1.4.0)
| | +- kombu(install version:4.6.7 version range:>=3.0.25)
| | | +- amqp(install version:2.5.2 version range:<2.6,>=2.5.2)
| | +- pika(install version:1.1.0 version range:>=0.10.0)
| | +- pika-pool(install version:0.1.3 version range:>=0.1.3)
| | | +- pika(install version:0.10.0 version range:<0.11,>=0.9)
| +- pylibmc(install version:1.5.1 version range:==1.5.1)
| +- babel(install version:2.7.0 version range:>=2.3)
| | +- pytz(install version:2019.3 version range:>=0a)
| +- oslo.service(install version:1.16.0 version range:==1.16.0)
| +- jsonpath-rw-ext(install version:1.0.0 version range:==1.0.0)
| | +- babel(install version:2.7.0 version range:>=1.3)
| | | +- pytz(install version:2019.3 version range:>=0a)
| | +- jsonpath-rw(install version:1.4.0 version range:>=1.2.0)
| | +- pbr(install version:1.10.0 version range:>=1.4,<2.0)
| +- six(install version:1.13.0 version range:>=1.9.0)

Thanks for your help. Best, Neolith

NeolithEra avatar Dec 21 '19 10:12 NeolithEra

Suggested Solution

  1. Fix your direct dependency to be pbr >=1.4,<2.0. I have checked this revision will not affect your downstream projects now.
  2. Fix your direct dependency to be jsonpath-rw-ext *. I have checked this revision will not affect your downstream projects now.
  3. Remove your direct dependency pbr, and use pbr transitively introduced by jsonpath-rw-ext.

@knitmesh Which solution do you prefer, 1, 2 or 3? Please let me know your choice. I can submit a PR to solve this issue.

NeolithEra avatar Dec 21 '19 10:12 NeolithEra