Pip, conceptos básicos y administración de paquetes Python
En el siguiente artículo vamos a echar un vistazo a cómo podemos administrar paquetes Python utilizando Pip. Como quién más y quién menos sabrá que este es el administrador de paquetes Python. Se puede utilizar para instalar, actualizar y eliminar paquetes escritos en el lenguaje de programación Python.
El nombre es un acrónimo recursivo que se puede interpretar como Pip Instalador de Paquetes o Pip Instalador Python. Este es un sistema de gestión de paquetes sencillo utilizado para la instalación y administración de paquetes que pueden ser encontrados en el Python Package Index (PyPI). Python 2.7.9 y posteriores (en la serie Python2), Python 3.4 y posteriores incluyen este gestor (pip3 para Python3) por defecto.
Instalación
Para instalar este gestor de paquetes tanto en Debian como en Ubuntu, solo tendremos que abrir una terminal (Ctrl+Alt+T) y escribir:
sudo apt-get install python3-pip
También podremos instalar pip desde un archivo Python. Simplemente tendremos que ejecutar:
wget https://bootstrap.pypa.io/get-pip.py sudo python get-pip.py
Ten en cuenta que get-pip.py también instalará setuptools y wheel.
Actualizar PIP
Este gestor de paquetes ya estará instalado si estamos utilizando Python 2>= 2.7.9 o Python 3>= 3.4. Podremos actualizarlo usando en la terminal:
sudo pip install -U pip
Para actualizarlo todo (pip, setuptools, whell), ejecutaremos:
sudo pip install --upgrade pip setuptools wheel
Conocer que versión instalada
Si queremos conocer la versión instalada de de este gestor de paquetes, ejecutaremos:
pip --version
Creando entornos virtuales
Antes de instalar cualquier paquete de Python, se recomienda crear un entorno virtual. Los entornos virtuales de Python nos permiten instalar un paquete de Python en una ubicación aislada en lugar de instalarlo de manera global.
Digamos que necesitamos instalar un paquete Python, por ejemplo youtube-dl, que necesita la versión 1 de LibFoo, pero otra aplicación requiere la versión 2. En esta situación es fácil terminar actualizando involuntariamente una aplicación que no debe actualizarse. Para evitar esto, aislamos los paquetes en el entorno virtual. Todos los entornos virtuales tienen sus propios directorios de instalación y no interactúan ni entran en conflicto entre sí.
Podremos crear entornos Python aislados utilizando dos herramientas:
- Venv.
- Virtualenv.
Si estás utilizando Python 3.3 y versiones posteriores, Venv está instalado de manera predeterminada. Para este ejemplo yo estoy utilizando Python 2.x, y necesito instalar virtualenv. Para hacerlo voy a tener que ejecutar:
sudo pip install virtualenv
Crear un entorno virtual usando virtualenv
virtualenv NOMBRE source NOMBRE/bin/activate
Una vez que ejecutas el comando anterior, serás ubicado en tu entorno virtual inmediatamente. Para desactivar el entorno virtual y regresar a tu shell normal, ejecuta:
deactivate
Administrar paquetes Python
Ahora veremos el uso básico más común. Para ver la lista de todos los comandos disponibles y opciones generales solo tendremos que ejecutar:
pip
Si necesitamos conocer más sobre un comando, como el de instalación, ejecutaremos:
pip install --help
Instalar paquetes
Primero vamos a crear un entorno virtual como se muestra a continuación. En este ejemplo yo utilizaré solo virtualenv.
virtualenv MIENV
Reemplaza MIENV con tu propio nombre. Finalmente, actívalo utilizando el comando:
source MIENV/bin/activate
Una vez que ejecutas el comando anterior, serás ubicado dentro de tu entorno virtual. Ahora es el momento de instalar los paquetes. Para instalar por ejemplo youtube-dl, ejecuta:
pip install youtube-dl
Este comando instalará youtube-dl con todas sus dependencias.
Instalar versiones de un paquete
Para instalar una versión específica, ejecuta:
pip install youtube_dl=2017.12.14
Para instalar una versión que no sea la especificada, ejecuta:
pip install youtube_dl!=2017.12.14
Descargar paquetes
Para descargar un paquete con todas las dependencias (sin instalarlo), ejecuta:
pip download youtube-dl
Enumerar todos los paquetes instalados
Para encontrar qué paquetes fueron instalados, ejecutaremos:
pip list
Este comando mostrará todos los paquetes instalados utilizando este gestor.
Buscar paquetes
Para buscar un paquete específico, por ejemplo youtube-dl, ejecuta:
pip search youtube-dl
Actualizar paquetes
Para actualizar un paquete desactualizado, ejecuta:
pip install --upgrade youtube-dl
Para enumerar todos los paquetes obsoletos en un formato de columna, ejecuta:
pip list --outdated --format=columns
Ahora, actualizamos los paquetes desactualizados a las versiones más recientes disponibles usando el comando:
pip freeze --local | grep -v '^\e' | cut -d = -f 1 | xargs -n1 pip install -U
Desinstalar paquetes
Para desinstalar/eliminar un paquete instalado, ejecuta:
pip uninstall youtube-dl
Para desinstalar varios paquetes tendremos que escribirlos con un espacio entre ellos.
Si queremos eliminar todos los paquetes de Python instalados utilizando el gestor de paquetes, ejecutaremos:
pip freeze | xargs pip uninstall -y
Ayuda
Llegados a este punto ya tendremos una idea sobre el administrador de paquetes Python y su uso. Pero esto solo es la punta del iceberg de todo lo que podremos hacer. Para obtener más detalles y en profundidad, podemos consultar la documentación oficial y la sección de ayuda añadiendo –help al nombre del gestor de archivos.
El artículo Pip, conceptos básicos y administración de paquetes Python ha sido originalmente publicado en Ubunlog.