Python: actualice todos los paquetes con pip-review

P

Introducción

Actualizar los paquetes de Python puede resultar complicado. Hay muchos de ellos: es difícil realizar un seguimiento de todas las versiones más nuevas, e incluso cuando decide qué actualizar, aún tiene que actualizar cada uno de ellos manualmente.

Para abordar este asunto, revisión de pip fue creado. Le permite administrar sin problemas todos los disponibles PyPi actualizaciones con comandos simples.

Originalmente una parte de la pip-tools paquete, ahora vive como un envoltorio de conveniencia independiente pip. En este tutorial, cubriremos cómo actualizar todos los paquetes con pip-review.

Instalar pip-review

Puedes instalar pip-review en un entorno virtual, si desea contenerlo, o en todo el sistema. Naturalmente, instalando pip-review se hace a través de pip:

$ pip install pip-review
...
Successfully installed pip-review-1.1.0

Página de ayuda de pip-review

Si olvida alguno de estos comandos o simplemente desea una descripción general de las opciones del comando:

$ pip-review -h
usage: pip-review [-h] [--verbose] [--raw] [--interactive] [--auto]

Keeps your Python packages fresh. Looking for a new maintainer! See https://github.com/jgonggrijp/pip-review/issues/76

optional arguments:
  -h, --help         show this help message and exit
  --verbose, -v      Show more output
  --raw, -r          Print raw lines (suitable for passing to pip install)
  --interactive, -i  Ask interactively to install updates
  --auto, -a         Automatically install every update found

Unrecognised arguments will be forwarded to pip list --outdated and pip install, so you can pass things such as --user, --pre and --timeout and they will do what you expect. See pip list -h and pip install -h
for a full overview of the options.

Verifique todas las versiones del paquete con pip-review

A veces, solo querrá verificar si hay actualizaciones, antes de comprometerse con una lista de actualizaciones potencialmente larga. Para verificar todas las versiones del paquete, simplemente ejecute:

$ pip-review
scikit-learn==0.23.2 is available (you have 0.23.1)
scipy==1.5.4 is available (you have 1.4.1)
seaborn==0.11.0 is available (you have 0.10.1)
...

Esto le brinda un informe que enumera todas las actualizaciones de paquetes disponibles. Esencialmente, llama pip list – outdated. Esto tiene la ventaja de permitirle decidir qué paquetes desea actualizar, si es que desea actualizar alguno.

Actualizar todos los paquetes con pip-review

Una vez que haya identificado si desea actualizar sus paquetes, puede actualizarlos todos, automáticamente, usando:

$ pip-review --auto
Collecting beautifulsoup4==4.9.3
Downloading beautifulsoup4-4.9.3-py3-none-any.whl (115 kB)
...

Ejecutando solo este comando, está listo para comenzar. Es así de simple.

Actualizar todos los paquetes de forma interactiva con pip-review

Si quizás no desee actualizar algunos paquetes específicos, no necesita ejecutar el --auto actualizador. Si inicia el proceso como --interactive, puede elegir para cada paquete individual si desea actualizarlo o no:

$ pip-review --interactive
matplotlib==3.3.3 is available (you have 3.1.3)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit N
numpy==1.19.4 is available (you have 1.18.1)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit Y
pandas==1.1.5 is available (you have 1.0.3)
Upgrade now? [Y]es, [N]o, [A]ll, [Q]uit N
...

Para cada paquete, tiene cuatro opciones disponibles, “Sí”, “No”, “Todos” y “Salir”.

Seleccionar “Sí” indica que desea que ese paquete en particular se agregue a la “lista-por-actualizar”. Al final, se actualizan todos los paquetes de esta lista.

Si termina seleccionando “No”, significaría que el paquete no se actualizará. Si selecciona “Todos” significa que todos los paquetes que avancen se agregarán a la lista. Finalmente, seleccionar “Salir” significaría pip-review omitirá todos los paquetes restantes y actualizará solo los que seleccionó “Sí”.

Evitar que pip-review actualice ciertos paquetes

En algunas situaciones, es posible que desee evitar que ciertos paquetes se actualicen automáticamente cuando se ejecutan pip-review --auto. Esto podría ser quizás para evitar problemas de dependencias, un problema común.

En estos casos, querrá anclar los paquetes específicos que no desea actualizar. Puede hacer esto a través de un archivo de restricción. Un archivo de restricción es un archivo de requisitos que solo controla qué versión de un requisito está instalada, no si está instalada o no.

Su sintaxis y contenido son idénticos a los de los archivos de requisitos. Hay una diferencia clave:

La inclusión de un paquete en un archivo de restricciones no desencadena la instalación del paquete.

Hagamos un constraints.txt archivo:

$ export PIP_CONSTRAINT="/home/username/constraints.txt

Y ahora dentro de él, insertaremos:

matplotlib==3.1.3
pandas==1.0.3

Conclusión

Actualizar paquetes usando pip puede ser tedioso y lento. Y como era de esperar en el mundo de la informática, nació una herramienta para automatizar esto. En este artículo, hemos repasado pip-review utilidad: cómo instalarlo, así como cómo usarlo para actualizar paquetes en Python.

 

About the author

Ramiro de la Vega

Bienvenido a Pharos.sh

Soy Ramiro de la Vega, Estadounidense con raíces Españolas. Empecé a programar hace casi 20 años cuando era muy jovencito.

Espero que en mi web encuentres la inspiración y ayuda que necesitas para adentrarte en el fantástico mundo de la programación y conseguir tus objetivos por difíciles que sean.

Add comment

Sobre mi

Últimos Post

Etiquetas

Esta web utiliza cookies propias para su correcto funcionamiento. Al hacer clic en el botón Aceptar, aceptas el uso de estas tecnologías y el procesamiento de tus datos para estos propósitos. Más información
Privacidad