'pip install the minimum-impact historical package version

TLDR: I want the ability to pip install whichever version of a package will require the minimal changes to my currently installed versions.

Long version:

I support a pretty complex base container for geoscience research. My users sometimes fork the environment to add a new package for their specific use-case. The pip install of the new package often causes a cascade of upgrades, which inevitably breaks something. pip install --no-deps is no help -- it just means the new package won't work, because it's missing dependencies.

What I always seem to end up doing is manually walking the version history of the new package, looking for a version that will cause minimum disturbance to my existing packages.

Is there any way of automatically finding this "minimal-disturbance" historical version of the new package?



Sources

This article follows the attribution requirements of Stack Overflow and is licensed under CC BY-SA 3.0.

Source: Stack Overflow

Solution Source