ChatGPT解决这个技术问题 Extra ChatGPT

安装 anaconda 包的特定 BUILD

有什么方法可以在 Anaconda 中安装特定构建+版本的软件包? Stack Overflow 帖子“anaconda/conda - install a specific package version”展示了如何安装包的特定版本。但请看下面——有几个枕头包版本 4.2.1 上面有“py27”前缀。

背景:我正在摸索“conda search”输出的含义。例如,在我的安装中,conda search pillow 给出:

pillow                       2.1.0                    py26_0  defaults
...
                          *  3.3.1                    py27_0  defaults        
                             3.3.1                    py34_0  defaults        
                             3.3.1                    py35_0  defaults        
....
                             4.2.1                    py27_0  defaults        
                             4.2.1                    py35_0  defaults        
                             4.2.1                    py36_0  defaults        
                             4.2.1            py27h7cd2321_0  defaults        
                             4.2.1            py35h03abc04_0  defaults        
                             4.2.1            py36h9119f52_0  defaults        
                             4.3.0            py35h550890c_1  defaults        
                             4.3.0            py27h353bd0c_1  defaults        
                             4.3.0            py36h6f462bf_1  defaults        

我理解2.1.0、3.3.1等的含义——版本号。但是 py27_0defaults 是什么意思?更令人难以置信的是尾随十六进制数字的新外观,如 py27h7cd2321_0 。在研究了更多之后:

https://www.anaconda.com/blog/developer-blog/package-better-conda-build-3/

告诉我这是一种编码特定版本的包的新方法。

回到我的问题:鉴于我仍在使用 Python 2.7 版本的 anaconda,当我们执行 conda install 时,我们如何选择 py27_0 构建而不是另一个构建 (py27h7cd2321_0)?


n
nitred

带有 py27_0 的列是它所使用的 python 构建/版本。 defaults 列表示它属于哪个 Anaconda 通道。不同的用户或组织可以有自己的频道,但默认频道是 defaults,另一个流行的频道是 conda-forge

根据该信息安装任何特定版本的方式是:

conda install pillow=4.2.1=py27h7cd2321_0

哪种格式

conda install <package_name>=<version>=<build_string>

如果您想选择哪个频道(否则默认选择 defaults):

conda install -c <channel> <package_name>=<version>=<build_string>

您没有回答“我们如何选择 py27_0 构建而不是另一个构建 (py27h7cd2321_0)”的问题,有什么区别?
据我了解,完整的问题是“我们如何选择 py27_0 构建而不是另一个 (py27h7cd2321_0)当我们进行 conda 安装时?”。我就是这么回答的。但是,如果您的意思是“但是 py27_0py27h7cd2321_0 是什么意思?”,OP 会自己回答。更多信息可在 here 中找到。