Saltar al contenido

Cómo actualizar todos los paquetes de Python con pip

Solución:

Todavía no hay una bandera incorporada, pero puede usar

pip list --outdated --format=freeze | grep -v '^-e' | cut -d = -f 1  | xargs -n1 pip install -U

Nota: existen infinitas variaciones potenciales para esto. Estoy tratando de que esta respuesta sea breve y simple, ¡pero sugiera variaciones en los comentarios!

En la versión anterior de pip, puedes usar esto en su lugar:

pip freeze --local | grep -v '^-e' | cut -d = -f 1  | xargs -n1 pip install -U

los grep es omitir las definiciones de paquetes editables (“-e”), como sugiere @jawache. (Sí, podrías reemplazar grep+cut con sed o awk o perl o…).

los -n1 bandera para xargs evita detener todo si falla la actualización de un paquete (gracias @andsens).

Puede utilizar el siguiente código de Python. diferente a pip freeze, esto no imprimirá advertencias ni errores FIXME.
Para pip <10.0.1

import pip
from subprocess import call

packages = [dist.project_name for dist in pip.get_installed_distributions()]
call("pip install --upgrade " + ' '.join(packages), shell=True)

Para pip> = 10.0.1

import pkg_resources
from subprocess import call

packages = [dist.project_name for dist in pkg_resources.working_set]
call("pip install --upgrade " + ' '.join(packages), shell=True)

Para actualizar todos los paquetes locales; podrías usar pip-review:

$ pip install pip-review
$ pip-review --local --interactive

pip-review es una bifurcación de pip-tools. Ver pip-tools problema mencionado por @knedlsepp. pip-review el paquete funciona pero pip-tools el paquete ya no funciona.

pip-review funciona en Windows desde la versión 0.5.

¡Haz clic para puntuar esta entrada!
(Votos: 0 Promedio: 0)


Tags : / /

Utiliza Nuestro Buscador

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *