¿Qué significan = y ==, etc. cuando se especifican los números de versión del paquete conda y pip en archivos YAML?
Usamos archivos YAML para especificar nuestros entornos conda y pip. En ellos podemos especificar qué números de versión necesitamos usando, por ejemplo, cualquiera de estas líneas
- cudatoolkit=10.2.89
- cudatoolkit=10.2.*
- cudatoolkit==10.2.89
- cudatoolkit==10.2.*
Tengo problemas para encontrar la documentación de qué significa ==
vs. =
en estos requisitos de paquete y qué otras restricciones podrían escribirse y cómo.
¿Cuál es la diferencia en este ajuste entre =
y ==
? ¿Estos significados difieren entre conda y pip? ¿Dónde está la documentación correcta (Google y Bing no son buenos para buscar símbolos como esos)?
Respuestas
En PEP 440 , los operadores de especificación de versión de pip incluyen solo ==
los medios para coincidir con la versión exacta especificada. Las especificaciones de coincidencia de paquetes de Conda incluyen ==
que es igual a PEP 440 ==
para la especificación de la versión exacta y su propio operador, =
que es para la coincidencia de paquetes difusos.