0

Some time ago when i wanted to install a package using Conda in Anaconda python distribution i saw that Conda wants to update the python package from 2.7.10-0 to 2.7.10-1. It's the same python version (2.7.10 in this case).

Checking the channel's content I see there are multiple packages for the same python version:

python-2.7.10-0.tar.bz2     18.3M   
python-2.7.10-1.tar.bz2     16.7M   
python-2.7.10-3.tar.bz2     16.7M   
...

So what is the difference between these builds and how can i prevent them to be updated?

Octaviour
  • 745
  • 6
  • 18
maggie
  • 3,935
  • 3
  • 27
  • 31

1 Answers1

2

What you're seeing there are build numbers.

They're usually used to fix a build of the same version of a package.

For example, imagine you have built this python version accidentally as a pydebug build. However, that's not what you want since it will lead to crashes in users of this package if they're not away that this is a pydebug build. In this case you should rebuild the package (correctly this time), increment the build number and re-upload it.

So what is the difference between these builds?

You can't easily know the difference, unless Continuum provides a changelog for each build of python they provide (which I sincerely doubt).

To install a package with a specific build number you could do: conda install "python=2.7.10 0". The 0 means the build number.

I don't know if this syntax is officially supported, however it worked the last time I used it.

how can i prevent them to be updated?

First I would have to know what is your workflow.

If you're asking about the command-line, I don't think that is possible.

If you're asking about using environment.yml files you can pin a package to a specific version (including the build number) using a similar syntax of conda install.

Gustavo Muenz
  • 9,278
  • 7
  • 40
  • 42
  • Hi, this is clear to me but where can i find the information whats different in these packages? And how can conda be force to not update these packages? – maggie Mar 11 '16 at 07:46
  • Hi, the syntax you supplied didnt work for me on conda 3.7.0. But it seems to work for conda > 4. Thanks – maggie Mar 14 '16 at 09:49
  • @maggie sorry, I've written it wrong. I've edited the question to fix this – Gustavo Muenz Mar 14 '16 at 14:06
  • In the answer to [this](https://stackoverflow.com/questions/48128029/installing-specific-build-of-an-anaconda-package) question, the format is: `conda install ==` For you this would become: `conda install python=2.7.10=0` – H. Vabri May 20 '18 at 06:28