⏱️ Lectura: 7 min
Si escribís Python, lo más probable es que hayas pasado años frustrándote con pip install lento, virtualenv raro, poetry pesado y pyenv cruzando cables entre versiones. uv, el gestor de paquetes Python de Astral escrito en Rust, los reemplaza a todos desde un único binario. Y en benchmarks reales es entre 10 y 100 veces más rápido que pip.
📑 En este artículo
En esta guía te cuento qué es uv, por qué es tan rápido, cómo instalarlo en Windows, macOS y Linux, y cómo migrar tu flujo de trabajo actual sin romper nada.
Qué es uv y por qué importa
uv es un gestor de paquetes Python unificado, creado por Astral (los mismos detrás de Ruff). Su propuesta es simple: reemplazar una docena de herramientas fragmentadas por un solo ejecutable rápido y consistente.
Concretamente, uv reemplaza a:
pipypip-tools— instalación y compilación de dependencias.pipx— ejecución de herramientas aisladas.poetry— gestión de proyectos conpyproject.toml.pyenv— instalación y cambio de versiones de Python.virtualenv/venv— creación de entornos virtuales.twine— publicación de paquetes a PyPI.
Lo importante no es el reemplazo en sí: es que por primera vez en años el empaquetado Python funciona como funciona Cargo en Rust o npm en Node — con una sola herramienta coherente y rápida.
Por qué es tan rápido
La velocidad de uv no es un truco de marketing. Viene de decisiones arquitectónicas concretas:
- Escrito en Rust — no arranca un intérprete Python para cada operación, como sí hace pip.
- Paralelismo real — descarga, resuelve e instala dependencias en paralelo aprovechando todos los núcleos.
- Cache global compartido — una sola copia de cada paquete en disco, reutilizada por todos los proyectos del sistema. Menos IO, menos espacio.
- Resolver PubGrub — algoritmo moderno de resolución de dependencias, más eficiente que el backtracking tradicional.
- Sin archivos temporales innecesarios — la instalación es casi una operación de copia o hardlink desde el cache.
Instalación de uv en los tres sistemas operativos
uv provee instaladores standalone para Windows, macOS y Linux. Elegí el que más te convenga.
Windows
Abrí una terminal de PowerShell y ejecutá:
powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
Alternativamente, si usás Scoop o winget:
# Scoop
scoop install uv
# winget
winget install --id=astral-sh.uv -e
macOS
Si usás Homebrew (lo más recomendado):
brew install uv
O con el instalador oficial:
curl -LsSf https://astral.sh/uv/install.sh | sh
Linux
El instalador oficial funciona en cualquier distro:
curl -LsSf https://astral.sh/uv/install.sh | sh
En Arch Linux, también está disponible via pacman:
sudo pacman -S uv
Instalación vía pip (cualquier SO)
Si ya tenés Python y pip funcionando, podés instalar uv con:
pip install uv
Aunque pierde gracia instalar un reemplazo de pip con pip, funciona. Después de instalar, verificá con:
uv --version
Uso básico: tu primer proyecto con uv
Los comandos siguientes funcionan idénticos en Windows, macOS y Linux. Este es el flujo completo de un proyecto nuevo:
# Crear un proyecto nuevo
uv init mi-proyecto
cd mi-proyecto
# Agregar dependencias (equivalente a pip install + actualizar pyproject.toml)
uv add requests pandas
# Agregar una dependencia solo de desarrollo
uv add --dev pytest ruff
# Correr un script dentro del entorno del proyecto
uv run python main.py
# Instalar una versión específica de Python (reemplaza pyenv)
uv python install 3.12
# Ejecutar herramientas sin instalarlas (reemplaza pipx)
uv tool run ruff check .
# Actualizar todas las dependencias
uv lock --upgrade
# Sincronizar el entorno con el lockfile
uv sync
uv crea automáticamente:
- Un
pyproject.tomlestándar (compatible con poetry/pip-tools). - Un
uv.lockuniversal, reproducible entre sistemas operativos y arquitecturas. - Un entorno virtual
.venven la raíz del proyecto.
No necesitás activar manualmente el venv: uv run siempre ejecuta en el entorno correcto.
Benchmarks reales de 2026
Los números oficiales de Astral son contundentes y han sido verificados por terceros:
- Entre 8x y 10x más rápido que pip y pip-tools sin cache.
- Entre 80x y 115x más rápido con cache caliente — el caso típico al recrear un venv o actualizar deps.
- Crear un entorno virtual es 80x más rápido que
python -m venvy 7x más rápido que virtualenv. - En equipos con CI/CD, uv reduce el tiempo total del pipeline entre 50% y 80%.
En un proyecto mediano (50 dependencias), instalar desde cero con pip puede tomar 30-60 segundos. Con uv y cache caliente, son menos de 2 segundos. La diferencia se nota sobre todo en CI/CD, donde esos segundos se multiplican por cada build.
¿Deberías migrar? Estrategia recomendada
uv fue diseñado para convivir con el ecosistema existente, no para forzar una migración big-bang. Recomiendo este orden:
- Proyectos nuevos — empezá directamente con
uv init. No hay razón para usar pip en 2026 si arrancás de cero. - Proyectos con requirements.txt — uv lo lee directamente con
uv pip install -r requirements.txt. Migración de cero esfuerzo. - Proyectos con poetry — el
pyproject.tomles compatible. Podés generar unuv.lockconuv locksin tocar la configuración. - Docker y CI/CD — aquí ganás más tiempo. Reemplazá la instalación de deps en tu Dockerfile o pipeline de GitHub Actions por
uv sync --frozen.
📖 Resumen en Telegram: Ver resumen
Preguntas frecuentes
¿uv reemplaza a conda?
No del todo. conda gestiona también paquetes binarios no-Python (librerías de C, R, etc.) y canales como conda-forge. uv solo gestiona Python y paquetes de PyPI. Si dependés de conda para entornos científicos con CUDA o librerías nativas, mantenelo. Si solo gestionás Python puro, uv es superior.
¿Puedo usar uv en un Dockerfile?
Sí, y es uno de los casos donde más se nota la ganancia. Astral publica imágenes oficiales (ghcr.io/astral-sh/uv) y existe una imagen minimal con solo el binario. Un uv sync --frozen dentro del build reduce drásticamente el tiempo de construcción.
¿uv soporta Python 2?
No. uv solo soporta Python 3.8 y superiores, alineado con las versiones activas upstream. Si todavía tenés código en Python 2, la prioridad es migrarlo, no cambiar el gestor de paquetes.
¿El lockfile de uv es compatible con poetry o pip-tools?
No directamente. uv.lock es un formato propio, más rico y reproducible entre sistemas operativos. Sin embargo, uv puede generar requirements.txt con uv export para interoperar con herramientas que esperen ese formato.
¿Es seguro usar uv en producción?
uv es estable desde 2025. Empresas grandes (incluida la propia Astral) lo usan en producción y CI/CD. El código es open-source (Apache 2.0) y el desarrollo es muy activo. Es probablemente el proyecto de Python más vivo del 2026.
Referencias
- Documentación oficial de uv — Astral — guía completa, referencia de comandos y ejemplos.
- Repositorio en GitHub — astral-sh/uv — código fuente, releases y changelog.
- uv: Python packaging in Rust — Astral Blog — post fundacional con la filosofía del proyecto.
- uv: 100x Faster Python Package Manager (2026 Benchmark) — análisis comparativo con pip y poetry.
- Guía oficial de instalación de uv — opciones para Windows, macOS y Linux.
📱 ¿Te gusta este contenido? Únete a nuestro canal de Telegram @programacion donde publicamos a diario lo más relevante de tecnología, IA y desarrollo. Resúmenes rápidos, contenido fresco todos los días.
0 comentarios