O que = e == etc. significam ao especificar os números de versão do pacote conda e pip em arquivos YAML

Aug 17 2020

Usamos arquivos YAML para especificar nossos ambientes conda e pip. Neles podemos especificar quais números de versão precisamos usando, por exemplo, qualquer uma dessas linhas

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

Estou tendo problemas para encontrar a documentação para o que ==vs. =significa nesses requisitos de pacote e quais outras restrições podem ser escritas e como.

Qual é a diferença nesta configuração entre =e ==? Esses significados diferem entre conda e pip? Onde está a documentação correta (o Google e o Bing não são ótimos para procurar símbolos como esses)?

Respostas

3 jfahne Aug 17 2020 at 21:09

No PEP 440 , os operadores de especificação de versão do pip incluem apenas ==os meios para corresponder à versão exata especificada. As especificações de correspondência de pacote do Conda incluem ==o mesmo que o PEP 440 ==para especificação de versão exata e seu próprio operador, =, que é para correspondência de pacote difusa.