Lección 3: Creando Entornos Virtuales con UV Package Manager
Introducción
En la lección anterior vimos cómo crear entornos virtuales usando conda. Ahora aprenderemos a crear entornos virtuales y proyectos usando UV, una herramienta súper rápida para manejar paquetes de Python.
¿Qué es UV?
UV es un gestor de paquetes y proyectos de Python extremadamente rápido, escrito en Rust. Para más información, puedes visitar: docs.astral.sh/uv
¿Por qué es tan rápido UV?
Veamos una comparación de velocidad al instalar paquetes:
- UV: 0.06 segundos ⚡
- Poetry: 0.99 segundos
- PDM: 1.90 segundos
- pip: 4.63 segundos
UV es rápido porque está escrito en Rust, un lenguaje de programación conocido por su velocidad.
Ventajas principales de UV
- Es una herramienta única que reemplaza: pip, pip-tools, pipx, poetry, pyenv, twine, virtualenv
- Es 10 a 100 veces más rápido que pip
- Manejo completo de proyectos con archivo de bloqueo universal
- Instala y maneja versiones de Python automáticamente
Problema con pip tradicional
Cuando usamos pip normal, la instalación de paquetes puede ser muy lenta:
pip install numpy
pip install langchain
El proceso de descarga, instalación y compilación toma mucho tiempo. ¡UV soluciona esto!
Instalación de UV
Opción 1: Usando pip
pip install uv
Opción 2: En Windows (PowerShell)
Consulta la documentación oficial para otros métodos de instalación.
Creando un proyecto con UV
1. Inicializar un nuevo proyecto
uv init demo-uv
Este comando crea automáticamente:
- Una carpeta del proyecto
- Archivo
pyproject.toml
con la configuración del proyecto - Archivo
main.py
con código de ejemplo - Archivo
.gitignore
- Configuración para Python (versión más reciente disponible)
2. Navegar al proyecto
cd demo-uv
3. Crear el entorno virtual
uv venv
¡Súper rápido! Esto crea una carpeta .venv
con el entorno virtual.
4. Activar el entorno virtual
# En Windows
.venv\Scripts\activate
# En Mac/Linux
source .venv/bin/activate
Una vez activado, verás el nombre del proyecto en tu terminal.
Instalando paquetes con UV
Comando básico
uv add nombre-del-paquete
Ejemplos prácticos
# Instalar pandas
uv add pandas
# Instalar langchain
uv add langchain
# Instalar langraph
uv add langraph
# Para Jupyter notebooks
uv add ipykernel
Ventajas de usar UV add
- Velocidad increíble: Los paquetes se instalan en segundos
- Actualización automática: El archivo
pyproject.toml
se actualiza automáticamente con las dependencias - Gestión inteligente: UV maneja todas las dependencias de forma óptima
Verificando las instalaciones
Después de instalar paquetes, puedes verificar que se agregaron correctamente en el archivo pyproject.toml
:
[project]
dependencies = [
"pandas",
"langchain",
"langraph",
"ipykernel"
]
Trabajando con tu proyecto
Una vez configurado, puedes:
- Crear carpetas para organizar tu código
- Escribir archivos Python (.py)
- Crear notebooks de Jupyter (.ipynb)
- Instalar más paquetes según los necesites
Ejemplo de estructura de proyecto
demo-uv/
├── .venv/
├── primer-tutorial/
├── test.ipynb
├── main.py
├── pyproject.toml
└── .gitignore
UV vs Conda: ¿Cuál elegir?
UV es mejor para:
- Velocidad de instalación
- Proyectos individuales
- Gestión moderna de dependencias
Conda es mejor para:
- Manejar múltiples proyectos simultáneamente
- Cambiar rápidamente entre entornos
- Proyectos de ciencia de datos complejos
Resumen
UV es una herramienta poderosa y rápida para crear entornos virtuales y manejar paquetes de Python. Su velocidad y simplicidad lo hacen ideal para proyectos modernos. Sin embargo, tanto UV como conda son excelentes opciones, y puedes elegir la que mejor se adapte a tu forma de trabajar.
En este curso usaremos principalmente conda, pero ahora conoces ambas opciones para que puedas decidir cuál prefieres usar en tus proyectos futuros.
Próxima lección: Continuaremos con el desarrollo de nuestro bootcamp de IA Agéntica usando LangGraph y LangChain.