Let's assume we have the following dependency tree in Python using PIP as package installer:
A==1.2.1:
| - B==1.5.4
| - C==?.?.?
D==1.3.0:
| - C==?.?.?
Let's also assume that the existing versions of package C
are the followings:
- 0.0.8
- 1.0.2
As we know, PIP will not install different versions of the same package into an environment. Which means it has to pick one suitable version for all dependents.
What I simply cannot understand how PIP determines the suitable version.
If package A
depends on C==0.0.8
and package D
depends on C==1.0.2
, this situation cannot get easily handled, unlike other package managers such as NPM could do.