iamdork / dork

The dork executable. Automatically installed by dorkstation.
MIT License
4 stars 0 forks source link

dork-compose broken by hvac and docker-compose #1

Open NeolithEra opened 4 years ago

NeolithEra commented 4 years ago

Hi, users are unable to run dork-compose due to dependency conflict with requests package. As shown in the following full dependency graph of dork-compose, docker requires requests >=2.6.1,<2.12,while hvac requires requests >=2.21.0.

According to pip’s “first found wins” installation strategy, requests 2.11.1 is the actually installed version. However, requests 2.11.1 does not satisfy >=2.21.0.

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

dork-compose - 1.13.0.0.0.1
| +- docker-compose(install version:1.13.0 version range:==1.13.0)
| | +- cached-property(install version:1.5.1 version range:<2,>=1.2.0)
| | +- colorama(install version:0.3.9 version range:<0.4,>=0.3.7)
| | +- docker(install version:2.7.0 version range:>=2.2.1,<3.0)
| | | +- docker-pycreds(install version:0.4.0 version range:>=0.2.1)
| | | | +- six(install version:1.13.0 version range:>=1.4.0)
| | | +- requests(install version:2.22.0 version range:>=2.14.2)
| | | | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | | +- idna(install version:2.8 version range:>=2.5,<2.9)
| | | | +- urllib3(install version:1.25.7 version range:<1.26,>=1.21.1)
| | | +- six(install version:1.13.0 version range:>=1.4.0)
| | | +- websocket-client(install version:0.56.0 version range:>=0.32.0)
| | | | +- six(install version:1.13.0 version range:*)
| | +- dockerpty(install version:0.4.1 version range:<0.5,>=0.4.1)
| | | +- six(install version:1.13.0 version range:>=1.3.0)
| | +- docopt(install version:0.6.2 version range:>=0.6.1,<0.7)
| | +- jsonschema(install version:2.6.0 version range:<3,>=2.5.1)
| | +- pyyaml(install version:3.13 version range:<4,>=3.10)
| | +- requests(install version:2.11.1 version range:>=2.6.1,<2.12)
| | +- six(install version:1.13.0 version range:<2,>=1.3.0)
| | +- texttable(install version:0.8.8 version range:<0.9,>=0.8.1)
| | +- websocket-client(install version:0.56.0 version range:<1.0,>=0.32.0)
| | | +- six(install version:1.13.0 version range:*)
| +- filelock(install version:3.0.12 version range:*)
| +- gitpython(install version:3.0.5 version range:*)
| | +- gitdb2(install version:2.0.6 version range:>=2.0.0)
| | | +- smmap2 (install version:2.0.5 version range:>=2.0.0)
| +- hvac(install version:0.9.6 version range:*)
| | +- requests(install version:2.22.0 version range:>=2.21.0)
| | | +- certifi(install version:2019.11.28 version range:>=2017.4.17)
| | | +- chardet(install version:3.0.4 version range:<3.1.0,>=3.0.2)
| | | +- idna(install version:2.8 version range:>=2.5,<2.9)
| | | +- urllib3(install version:1.25.7 version range:<1.26,>=1.21.1)
| | +- six(install version:1.13.0 version range:>=1.5.0)
| +- terminaltables(install version:3.1.0 version range:*)

Thanks for your help. Best, Neolith

NeolithEra commented 4 years ago

Suggested Solution

  1. Ask your upstream project docker-compose to loose the version range of requests.
  2. Fix your direct dependency to be hvac<=0.7.1. I have checked this revision will not affect your downstream projects now.

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