conda 要求与约束
conda requirements vs constraints
以下是 clang ~/conda/pkgs/clang-13.0.0-ha770c72_0/info/repodata_record.json
的包元数据的一部分,它有两个部分“constrains”和“depends”
{
"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
?
可以在 Conda 配方中定义四种类型的要求:build
、host
、run
和 run_constrained
。最后两个在最终元数据 JSON 中分别被翻译成 depends
和 constrains
。
run
要求确定必须共同安装的软件包; run_constrained
定义了版本约束 如果 列出的软件包是共同安装的。
有关详细信息,请参阅 the documentation on the Requirements section Conda 包配方的 meta.yaml
文件。
此外,请参阅 the Conda Forge recipe 了解 clang-{{major_version}}
软件包。
以下是 clang ~/conda/pkgs/clang-13.0.0-ha770c72_0/info/repodata_record.json
的包元数据的一部分,它有两个部分“constrains”和“depends”
{
"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
?
可以在 Conda 配方中定义四种类型的要求:build
、host
、run
和 run_constrained
。最后两个在最终元数据 JSON 中分别被翻译成 depends
和 constrains
。
run
要求确定必须共同安装的软件包; run_constrained
定义了版本约束 如果 列出的软件包是共同安装的。
有关详细信息,请参阅 the documentation on the Requirements section Conda 包配方的 meta.yaml
文件。
此外,请参阅 the Conda Forge recipe 了解 clang-{{major_version}}
软件包。