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==?.?.?
On this topic, things will change relatively soon. Since pip's developers are currently working on a new dependency resolver:
To test it today, you might want to install pip 20.2b1 and enable the unstable feature "resolver", with for example either one of the following:
PIP_UNSTABLE_FEATURE=resolver python -m pip install SomeProject
python -m pip --unstable-feature=resolver install SomeProject
See the following link for more details:
Other references:
Update pip 20.2