Reputation: 361
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
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