在 YAML 文件中指定 conda 和 pip 包版本号时 = 和 == 等是什么意思

What do = and == etc. mean when specifying conda and pip package version numbers in YAML files

我们使用 YAML 文件来指定我们的 conda 和 pip 环境。在其中我们可以指定我们需要使用的版本号,例如,这些行中的任何一个

- cudatoolkit=10.2.89
- cudatoolkit=10.2.*
- cudatoolkit==10.2.89
- cudatoolkit==10.2.*

我无法找到有关 === 在这些包要求中的含义以及可以编写哪些其他限制以及如何编写的文档。

===这个设置有什么区别? conda 和 pip 之间的这些含义是否不同?正确的文档在哪里(Google 和 Bing 不擅长搜索类似的符号)?

PEP 440, pip's version specification operators include only == which means to match the exact version specified. Conda's package matching specifications中包含==,它与PEP 440的==相同,用于精确的版本规范和它们自己的运算符,=,用于模糊包匹配.