不久前,当我想在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
...
那么这些构建之间的区别是什么以及如何防止它们被更新?
答案 0 :(得分:1)
你所看到的是build numbers。
它们通常用于修复相同版本软件包的构建。
例如,假设您已将此python版本意外地构建为pydebug版本。但是,这不是你想要的,因为它会导致这个软件包的用户崩溃,如果他们没有离开这是一个 pydebug 构建。 在这种情况下,您应该重建包(这次正确),增加内部版本号并重新上传。
那么这些构建之间有什么区别?
除非Continuum为他们提供的每个python版本提供更改日志(我真诚地怀疑),否则您无法轻易了解其中的差异。
要安装具有特定内部版本号的软件包,您可以执行以下操作:conda install "python=2.7.10 0"
。 0
表示内部版本号。
我不知道这种语法是否得到官方支持,但是我最后一次使用它时效果很好。
我怎样才能防止它们被更新?
首先,我必须知道你的工作流程是什么。
如果您询问命令行,我认为这不可能。
如果您询问有关使用environment.yml
文件的问题,可以使用conda install
的类似语法将包打包到特定版本(包括版本号)。< / p>