instalar como actualizar python pip multiple-versions

python - como - ¿Cómo instalar un paquete con un rango de versión mínimo y máximo?



instalar python en debian 9 (3)

Me pregunto si hay alguna forma de decirle a pip, específicamente en un archivo de requisitos, que instale un paquete con una versión mínima ( pip install package>=0.2 ) y una versión máxima que nunca debería instalarse (aplicación teórica api: pip install package<0.3 ).

Lo pregunto porque estoy usando una biblioteca de terceros que está en desarrollo activo. Me gustaría que mi archivo de requisitos pip especificara que siempre debería instalar la versión menor más reciente de la rama 0.5.x, pero no quiero que pip intente alguna vez instalar versiones nuevas más recientes (como 0.6.x) ya que la API es diferente. Esto es importante porque aunque la rama 0.6.x está disponible, los desarrolladores todavía están liberando parches y correcciones de errores en la rama 0.5.x, por lo que no quiero usar un package=0.5.9 estático package=0.5.9 línea en mi archivo de requisitos.

¿Hay alguna forma de hacer eso?


Tu puedes hacer:

$ pip install "package>=0.2,<0.3"

Y pip buscará la mejor coincidencia, suponiendo que la versión sea al menos 0.2 y menor que 0.3.

Esto también se aplica a los archivos de requisitos de pip. Consulte todos los detalles sobre los especificadores de versión en PEP 440 .


Un método elegante sería usar el operador de liberación compatible ~= según PEP 440 . En tu caso esto equivaldría a:

package~=0.5.0

Como ejemplo, si existen las siguientes versiones, elegiría 0.5.9 :

  • 0.5.0
  • 0.5.9
  • 0.6.0

Para aclarar, cada par es equivalente:

~= 0.5.0 >= 0.5.0, == 0.5.* ~= 0.5 >= 0.5, == 0.*


también puedes usar:

pip install package==0.5.*

que es más consistente y fácil de leer