Conda-Forge 与 conda-forge 存储库和安全性

Posted

技术标签:

【中文标题】Conda-Forge 与 conda-forge 存储库和安全性【英文标题】:Conda-Forge vs. conda-forge repo and security 【发布时间】:2021-12-27 23:12:24 【问题描述】:

所以我使用 miniconda 并尝试从 conda-forge 安装 pyperclip 但我错误地将名称大写,所以我运行:

conda install -c Conda-Forge pyperclip

(注意大写字母)。输出是:

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\USUARIO\miniconda3

  added / updated specs:
    - pyperclip


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    ca-certificates-2021.10.8  |       h5b45459_0         176 KB  Conda-Forge
    certifi-2021.10.8          |   py39hcbf5309_1         145 KB  Conda-Forge
    conda-4.11.0               |   py39hcbf5309_0        16.8 MB  Conda-Forge
    openssl-1.1.1l             |       h8ffe710_0         5.7 MB  Conda-Forge
    pyperclip-1.8.2            |     pyhd8ed1ab_2          14 KB  Conda-Forge
    ------------------------------------------------------------
                                           Total:        22.9 MB

The following NEW packages will be INSTALLED:

  pyperclip          Conda-Forge/noarch::pyperclip-1.8.2-pyhd8ed1ab_2

The following packages will be SUPERSEDED by a higher-priority channel:

  ca-certificates                               conda-forge --> Conda-Forge
  certifi                                       conda-forge --> Conda-Forge
  conda                                         conda-forge --> Conda-Forge
  openssl                                       conda-forge --> Conda-Forge

我怀疑它正在尝试安装 openssl,所以我取消并重新输入了正确大小写的命令:

conda install -c conda-forge pyperclip

得到以下结果:

Collecting package metadata (current_repodata.json): done
Solving environment: done

## Package Plan ##

  environment location: C:\Users\USUARIO\miniconda3

  added / updated specs:
    - pyperclip


The following packages will be downloaded:

    package                    |            build
    ---------------------------|-----------------
    pyperclip-1.8.2            |     pyhd8ed1ab_2          14 KB  conda-forge
    ------------------------------------------------------------
                                           Total:          14 KB

The following NEW packages will be INSTALLED:

  pyperclip          conda-forge/noarch::pyperclip-1.8.2-pyhd8ed1ab_2

谁能解释一下? conda-forgeConda-Forge有什么区别?

【问题讨论】:

看起来不错,anaconda.org/Conda-Forge 与 anaconda.org/conda-forge 相同。另请注意,当它尝试执行conda-forge --> Conda-Forge 时,它实际上并没有安装任何新版本或这些软件包的构建,它只是表明频道看起来不同。 【参考方案1】:

正如@MattThompson 在 cmets 中指出的那样,它们最终都去了同一个地方,所以不是安全问题。

至于为什么要对这些特定的软件包进行此切换,这与 aggressive_update_packages 配置设置有关。 this answer 对此进行了部分讨论。简而言之,每当用户请求改变环境时,Conda 都会尝试更新这些包。此外,每当使用-c 标志时,他们都在声明指定通道具有最高优先级。这里是 Conda-forge,但如果有人输入 -c defaults -c Conda-forge,它会尝试从 defaults 安装相同的包。

在这种特定情况下,效果只是在conda-meta/history 文件中完成的一些簿记问题,该文件似乎区分大小写。虽然它会在内部跟踪它作为渠道的变化,但它实际上不会改变包。

【讨论】:

以上是关于Conda-Forge 与 conda-forge 存储库和安全性的主要内容,如果未能解决你的问题,请参考以下文章

如何找到 conda-forge 包的 MD5 校验和

什么是完整的 conda-forge 频道网址?

conda-forge / cran 包装的 X 射线扫描

无法使用 conda-forge 安装 ggplot

Python 打包:在 `conda` `meta.yaml` 文件中创建对 `conda-forge` 包的依赖

用于更新 Conda-Forge 原料的持续集成