3 usuarios conectados
Módulos y paquetes. Gestión de paquetes con pip
Módulos y paquetes. Gestión de paquetes con pip
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:
-
Instalar un paquete:
Ejemplo: Para instalar la popular biblioteca
requests
para hacer peticiones HTTP:
Pip buscará el paquete en PyPI, lo descargará
e instalará con todas sus dependencias.
-
Especificar una versión:
Puedes instalar una versión específica de un
paquete usando ==
:
Ejemplo: Para instalar la versión 2.20.0 de
requests
:
También puedes usar otros operadores de
comparación como >
, <
, >=
, <=
,
!=
.
-
Actualizar un paquete a la última
versión:
Ejemplo: Para actualizar requests
:
-
Desinstalar un paquete:
Ejemplo: Para desinstalar requests
:
Pip te pedirá confirmación antes de
desinstalar el paquete. Puedes evitar esto con la opción -y
o
--yes
.
-
Mostrar información sobre un paquete
instalado:
Ejemplo: Para ver información sobre
requests
:
Esto mostrará detalles como la versión
instalada, la ubicación, las dependencias, el autor, etc.
-
Listar los paquetes instalados:
Este comando muestra una lista de todos los
paquetes que tienes instalados en tu entorno Python actual, junto con sus
versiones.
-
Buscar paquetes en PyPI:
Ejemplo: Para buscar paquetes relacionados
con "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:
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:
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:
- Crea un entorno virtual para tu proyecto.
- Activa el entorno virtual.
- Usa
pip install
para instalar
los paquetes necesarios dentro de ese entorno virtual.
- Si es necesario, usa
pip freeze >
requirements.txt
para guardar las dependencias del proyecto.
- 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:
--proxy
: Especifica un proxy
para usar durante la descarga.
--cache-dir
: Especifica un
directorio de caché diferente.
--no-index
: Ignora el índice
de paquetes (PyPI).
--find-links
: Busca paquetes
en archivos o directorios locales además de PyPI.
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.