uv python pip gestor de paquetes ambiente virtual desarrollo herramientas

Qué es uv en Python y por qué los desarrolladores lo prefieren sobre pip en 2026

uv es la herramienta de gestión de paquetes y ambientes de Python más rápida del momento. Te explicamos qué es, cómo funciona y por qué muchos desarrolladores ya dejaron de usar pip.

Manos escribiendo en un teclado de laptop junto a un libro de programación Python. Código reflejado en pantalla.
· Crezendo

Si programas en Python regularmente, probablemente conoces la rutina: crear un ambiente virtual con python -m venv, activarlo, instalar dependencias con pip, y luego descubrir que alguien más del equipo tiene versiones distintas porque no existe un requirements.lock real.

Ese flujo está cambiando rápidamente desde que uv apareció en el ecosistema Python.

Qué es uv

uv es una herramienta de gestión de proyectos Python creada por Astral, el mismo equipo que desarrolló Ruff (el linter y formateador que reemplazó a Black, Flake8 y isort). Está escrita en Rust y reemplaza a pip, virtualenv, pip-tools y, en buena medida, a pyenv.

En una sola herramienta puedes:

  • Instalar y gestionar versiones de Python
  • Crear ambientes virtuales
  • Instalar dependencias
  • Generar y respetar archivos de bloqueo (uv.lock)
  • Ejecutar scripts con dependencias inline

Cómo instalar uv

En Windows (PowerShell):

powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"

En Linux o macOS:

curl -LsSf https://astral.sh/uv/install.sh | sh

Listo. No necesitas Python preinstalado para empezar.

Ventaja 1: Es extremadamente rápido

uv puede instalar dependencias hasta 10-100 veces más rápido que pip. Esto no es marketing: la diferencia se debe a que está escrita en Rust y usa un resolvedor de dependencias optimizado que paraleliza descargas e instalaciones.

En proyectos grandes con decenas de dependencias, la diferencia entre pip install -r requirements.txt y uv sync pasa de varios minutos a pocos segundos.

Ventaja 2: Gestiona Python, no solo paquetes

Con uv puedes instalar versiones específicas de Python sin depender del administrador de paquetes de tu sistema operativo:

uv python install 3.12
uv python install 3.11 3.10

Luego cambias entre ellas fácilmente:

uv python pin 3.12

Esto elimina la necesidad de pyenv en la mayoría de los casos.

Ventaja 3: Ambientes virtuales automáticos

uv crea y gestiona ambientes virtuales sin que tengas que pensar en ellos. Cuando inicias un proyecto:

uv init mi-proyecto
cd mi-proyecto
uv add requests

uv creó automáticamente un ambiente virtual en .venv/, instaló requests y sus dependencias, y actualizó pyproject.toml.

No necesitas recordar source .venv/bin/activate ni deactivate. uv run python ejecuta tu código dentro del ambiente correcto automáticamente.

Ventaja 4: Bloqueo determinístico de dependencias

Este es quizás el cambio más importante para equipos. Cuando ejecutas:

uv sync

uv genera un archivo uv.lock que registra exactamente qué versión de cada paquete (y subdependencia) está instalada, con hashes de verificación.

Cuando otro desarrollador clona el repositorio y ejecuta uv sync, obtiene exactamente las mismas versiones. No más "en mi máquina sí funciona".

Ventaja 5: Scripts con dependencias inline

Puedes escribir un script Python con sus dependencias declaradas al inicio:

# /// script
# dependencies = ["requests", "pandas"]
# ///

import requests
import pandas as pd

# tu código aquí

Luego ejecutas:

uv run script.py

uv instala automáticamente requests y pandas en un ambiente temporal, ejecuta el script, y limpia después. No necesitas crear un proyecto completo para un script de 50 líneas.

Ventaja 6: Compatibilidad total con el ecosistema existente

uv no te obliga a cambiar todo de inmediato. Puede:

  • Leer e instalar desde requirements.txt
  • Leer y generar pyproject.toml con estándar PEP 621
  • Instalar paquetes en ambientes creados con venv
  • Funcionar con setup.py y setup.cfg

Esto significa que puedes adoptar uv gradualmente en proyectos existentes sin reescribir configuraciones.

Ventaja 7: Una sola herramienta en lugar de cuatro

Antes necesitabas:

  • pyenv para gestionar versiones de Python
  • virtualenv o venv para ambientes virtuales
  • pip para instalar paquetes
  • pip-tools para bloquear dependencias

Ahora uv hace todo eso con comandos consistentes y documentación unificada. Menos herramientas significa menos puntos de fallo y menos tiempo configurando el entorno de desarrollo.

Migración desde pip: cuánto cuesta

Para la mayoría de los proyectos personales, la migración toma menos de 10 minutos:

  1. Instala uv
  2. Ejecuta uv pip install -r requirements.txt si quieres seguir usando el formato anterior
  3. O ejecuta uv init en un proyecto nuevo y empieza con pyproject.toml

La curva de aprendizaje es casi plana porque los comandos son intuitivos: uv add, uv remove, uv run, uv sync.

¿Deberías cambiar a uv?

Si trabajas solo en scripts pequeños y rara vez gestionas dependencias complejas, la diferencia no será dramática. Pero si:

  • Trabajas en equipo
  • Gestionas proyectos con muchas dependencias
  • Pasas tiempo resolviendo conflictos de versiones
  • Necesitas reproducir ambientes exactos en producción

Entonces uv no es solo una alternativa a pip. Es una mejora objetiva en velocidad, confiabilidad y simplicidad.

Aprender Python con las herramientas del futuro

En Crezendo enseñamos Python desde cero, y una de las primeras lecciones que damos es cómo gestionar tu entorno de trabajo profesionalmente. No enseñamos flujos obsoletos: nuestros estudiantes aprenden a usar herramientas modernas como uv, Ruff y Git desde el primer día.

Si estás empezando a programar o quieres actualizar tus habilidades, contar con un ambiente de desarrollo bien configurado marca la diferencia entre frustración y productividad. Y si no tienes computadora para practicar, escríbenos. A través de donaciones de equipos usados, ponemos laptops restauradas en manos de personas que quieren aprender exactamente esto.

La herramienta correcta no te hace mejor programador por sí sola, pero elimina la fricción que te impide concentrarte en lo que realmente importa: resolver problemas con código.

¿Interesado en talleres para tu equipo?

En Crezendo diseñamos programas a medida para empresas, ONGs y organismos de gobierno. El diagnóstico inicial no tiene costo.

Contactar a Crezendo