fiaas-deploy-daemon icon indicating copy to clipboard operation
fiaas-deploy-daemon copied to clipboard

pip install -r requirements.txt fails with dependency conflict on six package

Open tg90nor opened this issue 3 years ago • 4 comments

Can probably be fixed by requiring six == 1.14.0

ERROR: Cannot install fiaas-deploy-daemon[dev] 1.0-SNAPSHOT, pinject 0.14.1, docker 4.0.2, -r requirements.txt (line 3), k8s 0.15.0, flake8-print 3.1.0 and tox 3.14.5 because these package versions have conflicting dependencies.

The conflict is caused by:
    fiaas-deploy-daemon[dev] 1.0-SNAPSHOT depends on six==1.12.0
    pinject 0.14.1 depends on six>=1.7.3
    docker 4.0.2 depends on six>=1.4.0
    fiaas-deploy-daemon 1.0-SNAPSHOT depends on six==1.12.0
    k8s 0.15.0 depends on six==1.12.0
    flake8-print 3.1.0 depends on six
    tox 3.14.5 depends on six<2 and >=1.14.0

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

tg90nor avatar Aug 27 '20 17:08 tg90nor

Except k8s lib also requires six == 1.12.0. So either upgrade six in k8s as well, or downgrade tox

tg90nor avatar Aug 27 '20 17:08 tg90nor

Except k8s lib also requires six == 1.12.0. So either upgrade six in k8s as well, or downgrade tox

Two thoughts:

  1. Do we actually use six directly in fiaas-deploy-daemon? If not, we should just remove the dependency.
  2. Our use of six in k8s is super trivial AFAIK, so loosening it to something like >=1.12.0 shouldn't be a problem.

mortenlj avatar Aug 27 '20 18:08 mortenlj

six is used in fdd for crd types, but that is a very trivial usage as well.

tg90nor avatar Aug 27 '20 18:08 tg90nor

I can look into loosening the six dependency for both k8s and fiaas-deploy-daemon

tg90nor avatar Aug 27 '20 18:08 tg90nor