我一直在使用Conda工作了一年。我不是一个经验丰富的程序员,所以我不太了解它内部的内容(我只是使用python和一些相关的软件包进行计算)。
最近,当我更新软件包时,其中一些显示了奇怪的依赖项名称:
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
等(随机提取六个包)。为什么我突然有一些复杂的依赖项,如py36h81f2dff_0
,而不是py36_0
?如果我做错了什么,我该如何回滚?
答案 0 :(得分:2)
这是因为conda-build
3.0的变化。这开始发生在七月。请参阅Continuum的博客文章:https://www.anaconda.com/blog/developer-blog/package-better-conda-build-3/?lang=en-us
从该帖子中引用相关位:
等一下 - 构建/字符串字段中的
h7d013e7
gobbledygook是什么?Conda-build 3旨在概括钉扎/约束。这些约束区分了包。例如,在过去,我们在文件名中有像py27np111这样的东西。这是同样的想法,只是概括。由于我们不能轻易地将所有可能的约束放入文件名中,因此我们保留了旧的约束,但添加了哈希作为一般解决方案。
有关于哈希的更多信息,请访问:https://conda.io/docs/building/variants.html#differentiating-packages-built-with-different-variants
要明确的是,这些包没有任何问题,并且没有任何问题。