Conda更新提供了复杂的依赖项名称,而不是py36_0

时间:2017-10-16 04:11:13

标签: python conda

我一直在使用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?如果我做错了什么,我该如何回滚?

1 个答案:

答案 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

要明确的是,这些包没有任何问题,并且没有任何问题。