当我在同一计算机上以相同的anaconda安装同时运行以下两个命令时,会得到不同的结果:
conda install pymysql
conda 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软件包?
答案 0 :(得分:2)
DisplayMetrics displayMetrics = new DisplayMetrics();
getWindowManager().getDefaultDisplay().getMetrics(displayMetrics);
int height = displayMetrics.heightPixels;
int width = displayMetrics.widthPixels;
频道是anaconda提供的软件包。 default
通道是社区保留的软件包,包括二进制文件和用于多个OS的安装。
取决于来源,您可能会获得预编译的二进制安装或tar文件压缩的安装程序。我建议对所有内容都使用conda-forge。
https://conda-forge.org/docs/user/introduction.html
您可以在这里自己查看差异:
答案 1 :(得分:2)
As @eatmeimadanish points out,它们来自维护单独构建配方的不同渠道。请注意,构建配方与软件包版本无关,并且取决于编译选项,同一版本的软件包通常可以有多个构建。例如,可以使用不同的BLAS或CUDA库。可能还存在一些可选组件,而一个构建可能使另一构建没有启用。
Anaconda和Conda Forge的配方都已公开。例如,您可以比较Conda的两个版本中包含的内容:
conda-forge/conda-feedstock与AnacondaRecipes/conda-feedstock
或PyMySQL构建:
conda-forge/pymysql-feedstock与AnacondaRecipes/pymysql-feedstock
Conda Forge是开源的,因此许多软件包都由社区贡献者维护。虽然任意用户可以建议原料并提出拉取请求,但仍然存在一系列监管,以使每个程序包仅有限的维护者可以合并和批准PR。
默认情况下,Conda使用哈希检查来验证Anaconda Cloud上的软件包,但这只会检查您下载的软件包与上载者存放的哈希是否等效。对于defaults
频道,我们可以假设上传者是Continuum,Inc.的员工;对于conda-forge
,这是由原料维护人员触发的自动构建工具链。