Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Is it possible to lock versions of packages in Anaconda?

I installed Anaconda 3 2.3.0 on Windows xp. It is supposed to be the last version of anaconda to support windows xp as it contains python 3.4.3, and python 3.4.x is the last version of python to support windows xp.

When installing a package with

conda install

,one of its dependencies was updating conda to conda 4.x. conda 4.x crashed in the commandline when running conda install . This made anaconda unusable that i uninstalled anaconda.

My question, is it possible to lock versions of packages ? For the two use cases:

  • lock and forget : for packages I never want them to update, i need to run a command to lock them once so they will never update as a depency
  • ignore updating : install a package while ignoring to update certain package passed by name in this update.

If only one of the 2 use cases is possible or is known or is easier, please write it as answer.

like image 276
Muhammad Annaqeeb Avatar asked Feb 10 '18 23:02

Muhammad Annaqeeb


1 Answers

There are two bits to this. First, you can prevent conda from auto-updating by changing the configuration option auto_update_conda to False:

conda config --set auto_update_conda False

The other bit is to pin packages to certain versions. For those packages you don't want to update, you can pin the version by adding a line to a file called pinned (you might need to create it) in the environment's conda-meta directory. The syntax is

[The code] below [placed in conda-meta/pinned] forces NumPy to stay on the 1.7 series, which is any version that starts with 1.7, and forces SciPy to stay at exactly version 0.14.2:

numpy 1.7.*
scipy ==0.14.2

See the documentation for more information.

like image 188
darthbith Avatar answered Oct 11 '22 14:10

darthbith