Firstly:
Yes, it does not affect the results at the moment.
Next, how to avoid this?
Well, the answer is not easy. Software is developing. Dependencies are inevitable. Resistance is futile. Package and configuration management policies are the only way to deal with it.
What is best suited for such needs?
Isolate your experiments, allocating VM is enough to rely on
Continue to use reliable package management - Travis OLIPHANT Anaconda is the way to go (+ 3)
Provide configuration management to prevent bleeding after the “new” packets fall under the sun. Anaconda allows you to “freeze” a controlled [environment] , where you determine which version / release number of the corresponding packages is stored (and Anaconda maintains cross-dependencies for things under control, so we can simply benefit from a clear and well-identified [environment] -s, in which the code used to run and continue to use)
The naive advice of always updating the “latest version” can simply ruin the currently working toys and smash things into chaos. It is better to explicitly define / configure / identify / apply fully controlled [environment] -s for work and keep it for many years.
If someone is in accordance with ISO / EN-9000 +, NATO-STANAG AQAP-130 +, etc., there are not much better ways to keep going.
source share