ysBach
ysBach

Reputation: 361

Conda update gives complicated dependency name, not like py36_0

I've been using Conda for ~ year for my work. I am not an experienced programmer, so I don't know much about what's going inside of it (I just use python and some related packages for my calculation).

Since quite recently, when I update packages, some of them show strange dependency names:

anaconda                  custom                   py36_0  
ccdproc                   1.2.0                    py36_0    astropy
jupyterlab_launcher       0.5.3                    py36_0    conda-forge
pyqtgraph                 0.10.0                   py36_0  
scipy                     0.19.1           py36h9976243_3  
sphinxcontrib             1.0              py36h6d0f590_1  
toolz                     0.8.2            py36h81f2dff_0

and so on (six packages extracted randomly). Why do I suddenly have some complicated dependencies like py36h81f2dff_0, not like py36_0? If I did something wrong, how can I roll it back?

Upvotes: 1

Views: 128

Answers (1)

darthbith
darthbith

Reputation: 19645

This is because of the changes in conda-build 3.0. This started happening back in July. See the blog post from Continuum: https://www.anaconda.com/blog/developer-blog/package-better-conda-build-3/?lang=en-us

Quoting the relevant bit from that post:

Wait a minute—what is that h7d013e7 gobbledygook in the build/string field?

Conda-build 3 aims to generalize pinning/constraints. Such constraints differentiate a package. For example, in the past, we have had things like py27np111 in filenames. This is the same idea, just generalized. Since we can’t readily put every possible constraint into the filename, we have kept the old ones, but added the hash as a general solution.

There’s more information about what goes into a hash at: https://conda.io/docs/building/variants.html#differentiating-packages-built-with-different-variants

To be clear, there is nothing wrong with these packages and nothing wrong with conda.

Upvotes: 3

Related Questions