3 usuarios conectados

Módulos y paquetes. Gestión de paquetes con pip

Comparte esto

hora vamos a sumergirnos en la gestión de paquetes con pip, la herramienta estándar de Python para instalar y administrar paquetes de terceros. Pip es esencial para cualquier proyecto Python que dependa de bibliotecas externas que no forman parte de la biblioteca estándar de Python.

¿Qué es pip?

Pip (originalmente un acrónimo recursivo para "Pip Installs Packages" o "Pip Installs Python") es el gestor de paquetes de facto para Python. Te permite buscar, descargar, instalar, actualizar y desinstalar paquetes desde el Python Package Index (PyPI), que es un vasto repositorio de software de código abierto escrito para Python.

Instalación de pip:

En las versiones modernas de Python (a partir de la 3.4 para Python 3 y la 2.7.9 para Python 2), pip ya viene instalado por defecto. Si por alguna razón no lo tienes instalado, puedes seguir las instrucciones en la documentación oficial de Python para instalarlo (generalmente implica descargar un script get-pip.py y ejecutarlo con Python).

Uso básico de pip:

La forma más común de interactuar con pip es a través de la línea de comandos (terminal o símbolo del sistema). Aquí tienes los comandos más importantes:

  1. Instalar un paquete:

    Bash
     
    pip install nombre_del_paquete
    

    Ejemplo: Para instalar la popular biblioteca requests para hacer peticiones HTTP:

    Bash
     
    pip install requests
    

    Pip buscará el paquete en PyPI, lo descargará e instalará con todas sus dependencias.

  2. Especificar una versión:

    Puedes instalar una versión específica de un paquete usando ==:

    Bash
     
    pip install nombre_del_paquete==version
    

    Ejemplo: Para instalar la versión 2.20.0 de requests:

    Bash
     
    pip install requests==2.20.0
    

    También puedes usar otros operadores de comparación como >, <, >=, <=, !=.

  3. Actualizar un paquete a la última versión:

    Bash
     
    pip install --upgrade nombre_del_paquete
    

    Ejemplo: Para actualizar requests:

    Bash
     
    pip install --upgrade requests
    
  4. Desinstalar un paquete:

    Bash
     
    pip uninstall nombre_del_paquete
    

    Ejemplo: Para desinstalar requests:

    Bash
     
    pip uninstall requests
    

    Pip te pedirá confirmación antes de desinstalar el paquete. Puedes evitar esto con la opción -y o --yes.

    Bash
     
    pip uninstall -y requests
    
  5. Mostrar información sobre un paquete instalado:

    Bash
     
    pip show nombre_del_paquete
    

    Ejemplo: Para ver información sobre requests:

    Bash
     
    pip show requests
    

    Esto mostrará detalles como la versión instalada, la ubicación, las dependencias, el autor, etc.

  6. Listar los paquetes instalados:

    Bash
     
    pip list
    

    Este comando muestra una lista de todos los paquetes que tienes instalados en tu entorno Python actual, junto con sus versiones.

  7. Buscar paquetes en PyPI:

    Bash
     
    pip search término_de_búsqueda
    

    Ejemplo: Para buscar paquetes relacionados con "web scraping":

    Bash
     
    pip search web scraping
    

    Esto mostrará una lista de paquetes que coinciden con tu término de búsqueda.

Archivos de Requisitos (requirements.txt):

Es una práctica muy común y recomendada utilizar un archivo llamado requirements.txt para especificar las dependencias de tu proyecto. Este archivo contiene una lista de los paquetes necesarios y sus versiones (opcional).

Crear un archivo requirements.txt:

Puedes generar un archivo requirements.txt basado en los paquetes instalados en tu entorno actual usando el siguiente comando:

Bash
 
pip freeze > requirements.txt

Esto creará un archivo requirements.txt en el directorio actual, listando todos los paquetes instalados y sus versiones exactas.

Instalar paquetes desde un archivo requirements.txt:

Para instalar todas las dependencias listadas en un archivo requirements.txt, utiliza el siguiente comando:

Bash
 
pip install -r requirements.txt

Esto es especialmente útil cuando compartes tu proyecto con otros o cuando configuras un nuevo entorno de desarrollo.

Entornos Virtuales (venv):

Aunque pip es excelente para gestionar paquetes, es crucial utilizarlo junto con entornos virtuales (como venv que viene con Python o herramientas de terceros como conda o virtualenv). Los entornos virtuales aíslan las dependencias de diferentes proyectos, evitando conflictos entre versiones de paquetes.

Flujo de trabajo típico con pip y entornos virtuales:

  1. Crea un entorno virtual para tu proyecto.
  2. Activa el entorno virtual.
  3. Usa pip install para instalar los paquetes necesarios dentro de ese entorno virtual.
  4. Si es necesario, usa pip freeze > requirements.txt para guardar las dependencias del proyecto.
  5. Cuando otros (o tú en otro momento) trabajen en el proyecto, pueden crear un nuevo entorno virtual y usar pip install -r requirements.txt para instalar las mismas dependencias.

Otras opciones útiles de pip:

En resumen, pip es una herramienta indispensable para cualquier desarrollador de Python. Te permite gestionar fácilmente las bibliotecas de terceros que tu proyecto necesita, asegurando la reproducibilidad y la correcta gestión de dependencias, especialmente cuando se utiliza en conjunto con entornos virtuales.