【问题标题】:conda requirements vs constraintsconda 要求与约束
【发布时间】:2021-11-28 03:50:33
【问题描述】:

以下是 clang ~/conda/pkgs/clang-13.0.0-ha770c72_0/info/repodata_record.json 的包元数据的一部分,它有两个部分“约束”和“依赖”

{
  "arch": "x86_64",
  "build": "ha770c72_0",
  "build_number": 0,
  "channel": "https://conda.anaconda.org/conda-forge/linux-64",
  "constrains": [
    "libclang 13.0.0.*",
    "clang-tools 13.0.0.*",
    "llvm 13.0.0.*",
    "llvm-tools 13.0.0.*",
    "llvmdev 13.0.0.*"
  ],
  "depends": [
    "clang-13 13.0.0 default_hc23dcda_0",
    "gcc_impl_linux-64"
  ],
  ...
}

“约束”和“依赖”中列出的项目是什么?

我怀疑“依赖”意味着如果我们需要安装clang 13.0.0 版,我们还需要安装clang-13 13.0.0 版和gcc_impl_linux-64。这是正确的吗?

那么约束呢?这个clang包是不是也依赖llvm之类的包?

【问题讨论】:

    标签: python conda


    【解决方案1】:

    可以在 Conda 配方中定义四种类型的要求:buildhostrunrun_constrained。最后两个在最终元数据 JSON 中分别转换为 dependsconstrains

    run 要求标识必须共同安装的软件包; run_constrained 定义版本约束如果列出的包是共同安装的。

    有关详细信息,请参阅 the documentation on the Requirements section 以获取 Conda 包配方的 meta.yaml 文件。

    另外,请参阅 the Conda Forge recipe 以获取 clang-{{major_version}} 包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-04-19
      • 1970-01-01
      • 1970-01-01
      • 2019-09-20
      • 2021-12-11
      • 2010-09-22
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多