[Distutils] name of the dependency problem
Robin Becker
robin at reportlab.com
Wed Apr 15 13:09:04 CEST 2015
After again finding that pip doesn't have a correct dependency resolution
solution a colleage and I discussed the nature of the problem. We examined the
script capture of our install and it seems as though when presented with
level 0 A
A level 1 1.4<= C
level 0 B
B level 1 1.6<= C <1.7
pip manages to download version 1.8 of C(Django) using A's requirement, but
never even warns us that the B requirement of C was violated. Surely even in the
absence of a resolution pip could raise a warning at the end.
Anyhow after some discussion I realize I don't even know the name of the problem
that pip should try to solve, is there some tree / graph problem that
corresponds? Searching on dependency seems to lead to topological sorts of one
kind or another, but here we seem to have nodes with discrete values attached so
in the above example we might have (assuming only singleton A & B)
R --> A
R --> B
A --> C-1.4
A --> C-1.6
A --> C-1.6.11
A --> C-1.7
A --> C-1.8
B --> C-1.6
B --> C-1.6.11
so looking at C equivalent nodes seems to allow a solution set. Are there any
real problem descriptions / solutions to this kind of problem?
--
Robin Becker
More information about the Distutils-SIG
mailing list