6 - Configuración y personalización

Objetivo del tema

En esta lección aprenderás a adaptar pip a distintos escenarios de despliegue en proyectos con Python, administrando configuraciones persistentes, mirrors alternativos, proxies corporativos y ubicaciones de instalación.

6.1 Uso de pip config para ajustar opciones

Con el comando pip config gestionás archivos de configuración en los niveles global, de usuario y de entorno virtual. Esto permite centralizar timeouts, índices personalizados o reglas de verificación.

  • Listar configuraciones: Muestra todas las configuraciones activas y de dónde provienen (global, usuario o sitio).
    pip config list
  • Establecer un valor: Define una opción de configuración. Por ejemplo, para aumentar el tiempo de espera (timeout) a 60 segundos de forma global:
    pip config set global.timeout 60
  • Cambiar el índice de paquetes: Si deseas usar un mirror específico de PyPI para tu usuario, puedes configurarlo así:
    pip config set user.index-url https://pypi.org/simple
  • Eliminar una configuración: Para revertir un cambio y volver al valor predeterminado, usa unset.
    pip config unset user.index-url

Los cambios en el nivel global afectan a todos los usuarios del sistema, los de user solo a tu usuario, y los de site se aplican únicamente dentro de un entorno virtual activo.

6.2 Configuración de mirrors y proxies

Si tu organización necesita descargar paquetes desde servidores controlados o regiones específicas, redefine el mirror predeterminado de PyPI y configura los proxies obligatorios.

pip install --index-url https://pypi.org/simple pandas
pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple
set HTTPS_PROXY=http://usuario:clave@proxy.local:8080  # Windows
export HTTPS_PROXY=http://usuario:clave@proxy.local:8080  # Linux o macOS

Combiná la definición persistente del mirror con variables de entorno para el proxy. Recordá validar que el mirror elegido mantenga la sincronización completa y tenga certificados válidos.

6.3 Uso de índices privados o alternativos

Podés combinar el índice oficial con repositorios adicionales para distribuir componentes internos o acceder a lanzamientos tempranos publicados por terceros como PyTorch.

pip install --extra-index-url https://download.pytorch.org/whl/cu118 torch

Al utilizar varias fuentes, documentá cada URL en tu archivo requirements.txt o en la configuración de pip para que otros desarrolladores repliquen el entorno. Si el índice exige autenticación, almacená las credenciales en un gestor seguro en lugar de escribirlas en texto plano.

6.4 Carpeta de caché de pip

pip guarda archivos descargados en una caché local para evitar transferencias repetidas. Conocer su ubicación facilita liberar espacio en disco o compartir artefactos entre CI y estaciones de trabajo.

  • Ver la ubicación de la caché: Muestra la ruta absoluta donde pip almacena los archivos cacheados.
    pip cache dir
  • Listar archivos cacheados: Enumera los paquetes que se encuentran en la caché.
    pip cache list
  • Limpiar la caché: Elimina todos los archivos de la caché. Útil para liberar espacio o forzar la descarga de paquetes corruptos.
    pip cache purge

Podés reubicar la caché mediante la variable de entorno PIP_CACHE_DIR y así montarla en discos rápidos o directorios persistentes dentro de contenedores.

6.5 Uso de la opción --user para instalaciones locales

Cuando no contás con permisos administrativos o preferís aislar dependencias por usuario, instalá paquetes con el flag --user.

pip install --user typer

La instalación queda almacenada en la carpeta de usuario (por ejemplo, %APPDATA%\Python en Windows o ~/.local en Linux). Asegurate de agregar esa ruta al PATH para ejecutar scripts expuestos por los paquetes.

Resumen didáctico

Personalizar pip mediante archivos de configuración, mirrors alternativos, índices privados, gestión de caché y la opción --user te permite cumplir requisitos corporativos sin perder agilidad. Documentar cada ajuste garantiza que el equipo replique la configuración con confianza.