¿Cuál es el orden de clasificación estándar para los números de versión / versión de Python?

StackOverflow https://stackoverflow.com/questions/1901612

  •  19-09-2019
  •  | 
  •  

Pregunta

pip y easy_install de Python siguen algunas reglas para ordenar los paquetes por sus números de versión. ¿Cuáles son las reglas para la numeración de las versiones beta / release / corrección de errores por lo que estas herramientas se sabe que es el más reciente?

¿Fue útil?

Solución

Este es un punto delicado para muchas personas. setuptools y easy_install tienen algunas reglas bastante extraño en un intento de jugar bien con todo el mundo. Usted puede leer las reglas completas en el método de setuptools parse_version, pero aquí está el resumen:

  • Los números de versión se rompen por puntos en una tupla de que muchos segmentos. 4.5.6.7 se analiza en una tupla igual a ("4", "5", "6", "7").

  • ceros entre guiones o caracteres alfanuméricos se suprimen. 2.4.0 es la misma que 2,4; 4.2.05 es la misma que 2.4.5.

  • partes alfanuméricos se downcased. 2.4.a5 es igual a 2.4.A5.

  • Cuerdas que vienen antes "final" alfabéticamente se supone que son versiones de liberación pre, por lo 2.4.5b viene antes, y no después, 2.4.5.

  • Finalmente, "pre", "vista previa", y "rc" son tratados como si fueran "c". La palabra "dev" se sustituye por "@", por lo que se trata antes que nada con la misma versión. Es decir, x.y.z-dev está garantizada para llegar antes que cualquier otra versión x.y.z.

Hay una serie de propuestas para organizar las cosas un poco más, de los cuales el más popular es probablemente PEP 386 .

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top