PyPI y pip: el ecosistema de paquetes

📦 ¿Qué es un paquete en Python?

  • Módulo: un archivo .py (p. ej. math.py).

  • Paquete: carpeta con __init__.py que agrupa módulos (p. ej. numpy/).

  • Distribución: “lo que sube a PyPI”: archivos empacados listos para instalar.

  • Proyecto: código + metadatos (README, licencias, deps, etc.) que se publica como distribución.

Moral: en PyPI instalas distribuciones; en tu código importas paquetes/módulos.

🧰 PyPI vs pip

  • PyPI (Python Package Index) = repositorio central de paquetes Python.

  • pip = herramienta de línea de comandos para instalar/actualizar paquetes desde PyPI (o índices privados).

  • Objetivo del flujo: reproducibilidad y aislamiento por proyecto.

🧰 PyPI vs pip

Básico con pip:

# Instalar un paquete
pip install requests

# Instalar una versión específica
pip install "pandas==2.2.2"

# Actualizar un paquete
pip install --upgrade numpy

# Listar paquetes del entorno actual
pip list

# Congelar versiones (para compartir)
pip freeze > requirements.txt

# Instalar desde requirements.txt
pip install -r requirements.txt

🔎 Buscar paquetes en PyPI

  • Navega a https://pypi.org y explora descripción, versiones, dependencias y comandos de instalación.

  • Revisa “Project links” (repo, issues) para evaluar salud del proyecto.

  • Fíjate en licencia, release reciente, tests y documentación.

🔎 Buscar paquetes en PyPI

Instalación alternativa desde URL o carpeta local:

pip install git+https://github.com/psf/requests.git
pip install ./mi_paquete_local/

Usar pip en Google Colab (detalle clave)

En Colab no usamos la terminal del SO; lo correcto es el magic %pip (mejor que !pip) porque instala en el mismo entorno del kernel.

# Instalar paquetes (mejor con %pip que con !pip)
%pip install -q "networkx==3.4.2" "matplotlib>=3.8,<3.10"

# Ver versiones instaladas
%pip show networkx
%pip list | grep -E "networkx|matplotlib"

# Exportar tus deps para reusar en otra sesión
!pip freeze > requirements.txt
from google.colab import files; files.download("requirements.txt")

Tips Colab

  • Si instalas algo que afecta librerías base (pandas/numpy/numba), reinicia el runtime: Runtime → Restart session.

  • Evita venvs en Colab (el entorno es efímero).

  • Usa -q para menos ruido y versiona para reproducibilidad.

🧯 Buenas prácticas y errores comunes

  • Instala siempre en el entorno correcto (en Colab: %pip, no !pip).

  • Fija versiones cuando compartas notebooks (== o rangos controlados).

  • Tras instalar, importa en una celda aparte:

  import pandas as pd; pd.__version__

ModuleNotFoundError:

  1. Revisa que instalaste con %pip.

  2. Reinicia el runtime si el paquete reemplazó dependencias base.

Actualizar pip (si hace falta):

  %pip install -q --upgrade pip

Desinstalar

%pip uninstall nombre-paquete -y