Cosa significano = e == ecc. quando si specificano i numeri di versione del pacchetto conda e pip nei file YAML

Aug 17 2020

Utilizziamo i file YAML per specificare i nostri ambienti conda e pip. In essi possiamo specificare i numeri di versione di cui abbiamo bisogno usando, ad esempio, una qualsiasi di queste righe

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

Ho problemi a trovare la documentazione per cosa ==vs. =significa in questi requisiti del pacchetto e quali altre restrizioni potrebbero essere scritte e come.

Qual è la differenza in questa impostazione tra =e ==? Questi significati differiscono tra conda e pip? Dov'è la documentazione corretta (Google e Bing non sono bravi a cercare simboli come quelli)?

Risposte

3 jfahne Aug 17 2020 at 21:09

In PEP 440 , gli operatori di specifica della versione di pip includono solo i ==mezzi che corrispondono alla versione esatta specificata. Le specifiche di corrispondenza dei pacchetti di Conda includono ==che è la stessa di PEP 440 ==per la specifica della versione esatta e il proprio operatore, =, che è per la corrispondenza fuzzy dei pacchetti.