El mantenimiento de nuestras aplicaciones es algo que no debemos dejar pasar. Mejoras, corrección de errores, nuevas funcionalidades, actualizar paquetes de terceros… Es en este último punto en el que me voy a centrar en este post. Las librerías que usamos de terceros también tienen su propio mantenimiento y hoja de ruta y, antes o después, será necesario que tengamos que actualizar la versión que utilicemos de alguna de ellas.
Si usas pip
como herramienta de gestión de paquetes, sigue leyendo pues esto te interesa.
Actualizar un paquete con pip a la última versión
Para actualizar un paquete concreto con pip
a la última versión, ejecuta el siguiente comando:
$> pip install -U <nombre del paquete>
Veamos un ejemplo para actualizar Flask:
$> pip install -U flask
Por defecto, pip
actualizará este paquete pero también sus dependencias si fuera necesario.
Actualizar un paquete pero no sus dependencias
Si no quisiéramos actualizar las dependencias de un paquete cuando actualizamos este, tendríamos que ejecutar el mismo comando pero con el flag --no-deps
:
$> pip install -U --no-deps flask
Actualizar todos los paquetes con pip
Por defecto, pip
no dispone de ninguna opción para actualizar a la vez todas las dependencias de nuestra aplicación. Por seguridad no está mal. Actualizar sin control todos los paquetes de los que depende nuestro proyecto puede acabar en el caos más absoluto 😂 Es posible que nos lleve un buen rato probar todo y confirmar que la aplicación sigue funcionando correctamente.
Sin embargo, existe una forma para actualizar todas las dependencias de nuestro proyecto. Para ello, ejecuta el siguiente comando:
$> pip list --outdated --format=freeze | grep -v '^\-e' | cut -d = -f 1 | xargs -n1 pip install -U
Con esto se actualizarán a la última versión todos los paquetes de terceros junto con sus dependencias. Pero recuerda: ¡Un gran poder conlleva una gran responsabilidad!, jaja.