Python PIP
Aprende a usar pip para instalar, actualizar y eliminar paquetes de Python, fijar versiones, exportar dependencias y evitar errores comunes.
pip es el gestor de paquetes integrado de Python. Descarga paquetes de PyPI (el índice de paquetes de Python) y los instala para que puedas importarlos con import en tu código. Si tienes Python 3.4 o posterior, pip ya está incluido — no necesitas instalarlo por separado.
Este capítulo cubre todo lo que necesitas para usar pip con confianza: comprobar la instalación, instalar y eliminar paquetes, fijar versiones, exportar dependencias y corregir errores comunes.
Comprobar la instalación de pip
Abre una terminal y ejecuta:
pip --versionVerás una salida similar a esta:
pip 24.0 from /usr/lib/python3/dist-packages/pip (python 3.12)Si el comando no se encuentra, o si tienes varias versiones de Python, usa la forma python -m pip en su lugar — garantiza que estás ejecutando pip para el intérprete de Python que deseas:
python -m pip --versionActualizar pip
pip publica nuevas versiones con frecuencia. Mantenlo actualizado para evitar advertencias del resolvedor:
python -m pip install --upgrade pipInstalar paquetes
Instalación básica
pip install requestspip descarga requests y todas sus dependencias desde PyPI y las instala en tu entorno Python activo. Tras la instalación puedes importar el paquete de inmediato.
Instalar una versión específica
Fija una versión exacta cuando la reproducibilidad es importante:
pip install requests==2.31.0También puedes expresar rangos de versiones usando operadores de comparación:
pip install "requests>=2.28,<3.0"Escribe siempre los rangos entre comillas en la terminal para evitar que < y > se interpreten como redirecciones.
Instalar desde un archivo de requisitos
Un archivo requirements.txt lista todos los paquetes que necesita un proyecto, uno por línea. Instala todos los paquetes del archivo con un solo comando:
pip install -r requirements.txtUn requirements.txt típico tiene este aspecto:
requests==2.31.0
flask>=3.0,<4.0
sqlalchemyInstalar en modo editable
Cuando estás desarrollando un paquete local y quieres que los cambios surtan efecto sin reinstalar, usa la opción -e:
pip install -e .Esto enlaza el directorio del paquete directamente al entorno en lugar de copiar los archivos.
Instalar solo para el usuario actual
Si no tienes permiso para escribir en el directorio de Python del sistema y no estás usando un entorno virtual, añade --user:
pip install --user requestsEl paquete se instala en tu directorio de inicio (~/.local/ en Linux/macOS). Esto es una alternativa de emergencia — usar un entorno virtual es casi siempre la mejor opción.
Listar e inspeccionar paquetes
Listar todos los paquetes instalados
pip listEjemplo de salida:
Package Version
---------- -------
pip 24.0
requests 2.31.0
setuptools 69.0.3Ver detalles de un paquete
pip show requestsLa salida incluye versión, autor, licencia, ubicación de instalación y — lo más importante — qué requiere y qué lo requiere a él:
Name: requests
Version: 2.31.0
Summary: Python HTTP for Humans.
Home-page: https://requests.readthedocs.io
Author: Kenneth Reitz
License: Apache 2.0
Location: /usr/lib/python3/dist-packages
Requires: certifi, charset-normalizer, idna, urllib3
Required-by:Comprobar conflictos de versiones
pip checkpip analiza todos los paquetes instalados e informa de cualquier requisito incompatible. Si todo está bien, el comando termina sin mostrar nada.
Actualizar y eliminar paquetes
Actualizar un paquete
pip install --upgrade requestsEsto instala la versión más reciente que satisface las restricciones existentes en tu entorno.
Actualizar todos los paquetes (sin comando integrado)
pip no tiene un único comando para actualizar todos los paquetes instalados. Una solución habitual usando pip list y xargs:
pip list --outdated --format=freeze | cut -d = -f 1 | xargs pip install --upgradeÚsalo con cuidado en un entorno de proyecto — las actualizaciones masivas pueden introducir cambios incompatibles. Los archivos requirements.txt con versiones fijadas son una alternativa más segura.
Desinstalar un paquete
pip uninstall requestspip pide confirmación antes de eliminar el paquete. Pasa -y para omitir la confirmación en scripts:
pip uninstall -y requestsExportar dependencias
Congelar el entorno actual
pip freeze muestra todos los paquetes instalados con su versión exacta en un formato adecuado para un archivo requirements.txt:
pip freeze > requirements.txtLa salida tiene este aspecto:
certifi==2024.2.2
charset-normalizer==3.3.2
idna==3.6
requests==2.31.0
urllib3==2.2.1Comparte requirements.txt con tus compañeros o inclúyelo en tu repositorio para que cualquiera pueda reproducir tu entorno con pip install -r requirements.txt.
pip y los entornos virtuales
Por defecto pip instala paquetes de forma global (o por usuario con --user). Esto causa problemas cuando dos proyectos necesitan versiones diferentes de la misma biblioteca.
La solución es un entorno virtual: una instalación aislada de Python que tiene su propio pip y su propio directorio site-packages. Cuando un entorno virtual está activo, pip install afecta únicamente a ese entorno.
# Create a virtual environment named .venv
python -m venv .venv
# Activate it (macOS / Linux)
source .venv/bin/activate
# Activate it (Windows)
.venv\Scripts\activate
# Now pip works inside the isolated environment
pip install requestsConsulta el capítulo Python Virtual Environments para el flujo de trabajo completo.
Obtener salida detallada
Cuando una instalación falla, el mensaje de error predeterminado puede ser críptico. Añade --verbose (o -v) para ver cada paso que da pip:
pip install --verbose requestsAñade -v dos veces (-vv) para obtener aún más detalles, incluidas las peticiones HTTP que pip hace a PyPI.
Errores comunes y soluciones
| Error | Causa probable | Solución |
|---|---|---|
command not found: pip | pip no está en el PATH o no está instalado | Usa python -m pip o instala pip mediante ensurepip |
Permission denied | Sin acceso de escritura al Python del sistema | Añade --user o activa un entorno virtual |
Could not find a version that satisfies the requirement | El nombre del paquete es incorrecto o la versión no existe | Comprueba el nombre exacto en pypi.org |
ResolutionImpossible | Requisitos de versión incompatibles entre paquetes | Usa pip check para identificar conflictos; relaja las versiones fijadas |
SSL certificate verify failed | Proxy corporativo o certificados desactualizados | Actualiza tu paquete de CA o usa --trusted-host pypi.org |
Tabla de referencia rápida
| Tarea | Comando |
|---|---|
| Comprobar la versión de pip | pip --version |
| Instalar un paquete | pip install requests |
| Instalar una versión específica | pip install requests==2.31.0 |
| Instalar desde un archivo de requisitos | pip install -r requirements.txt |
| Actualizar un paquete | pip install --upgrade requests |
| Desinstalar un paquete | pip uninstall requests |
| Listar paquetes instalados | pip list |
| Ver detalles de un paquete | pip show requests |
| Exportar el entorno actual | pip freeze > requirements.txt |
| Comprobar conflictos | pip check |
Capítulos relacionados
- Python Modules — comprende cómo Python importa código antes de instalar paquetes de terceros
- Python Virtual Environments — aísla las dependencias del proyecto para que las instalaciones de pip nunca entren en conflicto