Anaconda 和针对同一 python 版本的不同 python 版本

Anaconda and different python builds for the same python version

前段时间,当我想在 Anaconda python 发行版中使用 Conda 安装一个包时,我看到 Conda 想要将 python 包从 2.7.10-0 更新到 2.7.10- 1.它是相同的 python 版本(在本例中为 2.7.10)。

检查频道内容我发现同一个 python 版本有多个包:

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   
...

那么这些构建之间有什么区别,我怎样才能防止它们被更新?

你看到的是build numbers

它们通常用于修复同一版本包的构建。

例如,假设您不小心将此 python 版本构建为 pydebug 版本。然而,这不是你想要的,因为如果他们不离开这是一个 pydebug 构建,它会导致这个包的用户崩溃。 在这种情况下,您应该重建包(这次是正确的),增加 build number 并重新上传它。

So what is the difference between these builds?

除非 Continuum 为他们提供的 python 的每个构建版本提供变更日志(我对此深表怀疑),否则您无法轻易地知道其中的区别。

要安装具有特定内部版本号的软件包,您可以执行以下操作:conda install "python=2.7.10 0"0 表示 版本号

我不知道官方是否支持这种语法,但是我上次使用它时它起作用了。

how can i prevent them to be updated?

首先我必须知道你的工作流程是什么。

如果你问的是命令行,我认为这是不可能的。

如果您询问有关使用 environment.yml 文件的问题,您可以使用类似 [=] 的语法将包 固定到特定版本(包括内部版本号) 13=].