Что означают = и == и т. Д. При указании номеров версий пакетов conda и pip в файлах YAML
Мы используем файлы YAML, чтобы указать среды conda и pip. В них мы можем указать, какие номера версий нам нужны, используя, например, любую из этих строк
- cudatoolkit=10.2.89
- cudatoolkit=10.2.*
- cudatoolkit==10.2.89
- cudatoolkit==10.2.*
У меня возникли проблемы с поиском документации о том, что ==
и что =
означает в этих требованиях к пакету, а также о том, какие еще ограничения могут быть записаны и как.
В чем разница между =
и в этой настройке ==
? Различаются ли эти значения между conda и pip? Где найти правильную документацию (Google и Bing не очень хороши для поиска подобных символов)?
Ответы
В PEP 440 операторы спецификации версии pip включают только те ==
средства, которые соответствуют точной указанной версии. Спецификации соответствия пакетов Conda включают в себя ==
то же самое, что и PEP 440, ==
для точной спецификации версии и собственного оператора =
, который предназначен для нечеткого сопоставления пакетов.