背景
当我使用相同的anaconda安装在同一台计算机上同时运行以下两个命令时,会得到不同的结果:
conda install pymysqlconda install -c conda-forge pymysql如下面的截图所示(截图内容也贴在下面):

它们主要有不同的尺寸。不同的软件包都有相同的版本号,这一事实让我感到担忧。
考虑:
The following packages will be downloaded:
package | build
---------------------------|-----------------
conda-4.8.0 | py37_1 2.8 MB
pymysql-0.9.3 | py37_0 83 KB
------------------------------------------------------------
Total: 2.9 MB在锻造通道收到的诗句:
The following packages will be downloaded:
package | build
---------------------------|-----------------
conda-4.8.0 | py37_1 3.0 MB conda-forge
pymysql-0.9.3 | py_0 41 KB conda-forge
------------------------------------------------------------
Total: 3.1 MB问题
这到底是怎么回事?
如何快速验证这些conda包?
发布于 2019-12-18 23:32:09
正如@eatmeimadanish所指出的,这些都来自不同的渠道,它们维护着独立的构建配方。请注意,构建配方独立于包版本,而且根据编译选项,通常会有多个相同版本的包构建。这方面的例子可以是使用不同的BLAS或CUDA库。还有一些可选的组件,其中一个构建可能使另一个构建不能。
Anaconda和Conda Forge的食谱都是开放的。例如,您可以比较Conda的两个版本中的内容:
conda-锻造/conda-原料对AnacondaRecipes/conda-原料
或者PyMySQL构建:
conda-forge/pymysql-原料对AnacondaRecipes/pymysql-原料
Conda是开源的,所以很多包都是由社区贡献者维护的。虽然任意的用户可以建议原料和请求拉,但仍然存在一个监管链,因此每个包只能有一组有限的维护人员可以合并和批准PRs。
默认情况下,Conda使用散列检查来验证Anaconda上的包,但这只会检查您下载的包是否为散列--相当于上传程序保存的包。对于defaults通道,我们可以假设上传者是连续公司的员工;对于conda-forge,它是由原料维护人员触发的自动构建工具链。
发布于 2019-12-18 19:06:50
default通道是由anaconda提供的包。conda-forge通道是由社区维护的包,包括用于多个操作系统的二进制文件和安装程序。
根据源的不同,您可能得到预编译的二进制安装或tar文件压缩设置。我建议你什么都用康达锻造。
https://conda-forge.org/docs/user/introduction.html
您可以在这里查看不同之处:
https://stackoverflow.com/questions/59398504
复制相似问题