Objetivo del tema
En esta lección explorarás las posibilidades avanzadas de pip para cubrir escenarios donde una instalación clásica desde PyPI no alcanza tus necesidades. Aprenderás a trabajar con archivos binarios, paquetes comprimidos, código alojado en repositorios como GitHub, carpetas locales y lanzamientos preliminares sin comprometer la estabilidad del proyecto en Python.
Los archivos con extensión .whl
son distribuciones binarias empaquetadas bajo el estándar Wheel. Reducen el tiempo de instalación porque incluyen el código ya compilado para una versión concreta de Python y una arquitectura determinada.
pip install requests-2.31.0-py3-none-any.whl
Si el nombre del archivo incluye espacios, encierra la ruta entre comillas o usa tabulación para autocompletar. Con pip show requests
verificas que los metadatos coincidan con la versión esperada.
Algunos mantenedores publican código fuente en formato .tar.gz
o .zip
. pip comprende estos contenedores y se encarga de ejecutar el script de construcción definido por el paquete.
pip install Django-5.0.3.tar.gz
pip install "https://github.com/pallets/flask/archive/refs/tags/3.0.3.zip"
Cuando trabajes con una ruta local incluye el prefijo ./
o la ruta absoluta para evitar ambigüedades. Para artefactos hospedados en repositorios como GitHub, como el ZIP de Flask, puedes pasar la URL directa. Si la distribución requiere herramientas adicionales (por ejemplo, un compilador C), pip mostrará el error de construcción para que instales la dependencia faltante.
pip acepta URLs git+
para descargar código directamente desde sistemas de control de versiones. Es frecuente emplearlo en proyectos donde la función buscada aún no se publicó en PyPI.
pip install git+https://github.com/pallets/flask.git@main
Puedes apuntar a una rama, etiqueta o commit específico agregando sufijos como @2.3.x
o @main
. Si el repositorio publica varias bibliotecas, agrega #egg=Flask
(u otro identificador) para que pip resuelva el nombre correcto. Procura fijar el commit para asegurar reproducibilidad y documenta la URL en tu archivo requirements.txt
.
Durante el desarrollo de un paquete propio es habitual instalarlo de forma editable para probar cambios sin reconstruir a cada momento.
pip install -e ./mi-paquete
El modificador -e
crea enlaces simbólicos a la carpeta indicada y habilita el modo editable. Así los cambios en el código fuente se reflejan al instante en los entornos donde lo consumís. Comprueba que la carpeta contenga un archivo pyproject.toml
o setup.cfg
correctamente configurado.
Determinados paquetes publican versiones con sufijos como a
, b
o rc
para identificar alfas, betas o release candidates. pip las ignora salvo que lo autorices explícitamente.
pip install --pre fastapi
pip install black==24.3b0
Al usar --pre
permites que pip considere versiones preliminares cuando resuelve dependencias. Es una práctica conveniente en fases de prueba interna o cuando quieres validar compatibilidad con el próximo lanzamiento. Documenta esta elección para el resto del equipo y evita mezclar prereleases con entornos productivos sin pruebas exhaustivas.
Las opciones avanzadas de pip amplían la flexibilidad de distribución: puedes instalar binarios optimizados, empaquetados comprimidos, repositorios remotos, carpetas locales y versiones preliminares según tus necesidades. Dominar estos escenarios reduce tiempos de despliegue y te prepara para integrar flujos de trabajo más sofisticados en tus proyectos.