Gestión moderna de dependencias Python con UV y pyproject

Clase 19 de 25Curso de Python Intermedio para Entornos virtuales y PEP8

Contenido del curso

Creación de Aplicaciones de Consola

Resumen

Optimiza la instalación de dependencias en Python con una herramienta moderna, basada en Rust, que simplifica el uso de entornos virtuales, acelera la instalación desde PyPI y centraliza la configuración en pyproject. Diseñada por Astral, permite trabajar con los mismos comandos en macOS y Windows, mejorando la colaboración y el rendimiento.

¿Qué es V y por qué acelera la gestión de dependencias en Python?

V es una herramienta de Astral para instalar Python, crear entornos virtuales y gestionar dependencias con comandos simples. Al usar Rust bajo el capó, las instalaciones son notablemente más rápidas. Además, estandariza el uso de pyproject para definir dependencias y configura un entorno virtual llamado .vm que los editores de código detectan fácilmente.

  • Compatible con macOS y Windows: mismos comandos en ambos sistemas operativos.
  • Integración con pyproject: dependencias definidas en un único archivo.
  • Mejor rendimiento: instalaciones más rápidas gracias a Rust.
  • Flujo claro: comandos como help, init, add, remove y sync.
  • Buenas prácticas: no subir la carpeta .vm al repositorio.

Ejecuta la instalación desde PyPI con pip.

pip install V V help

¿Cómo iniciar un proyecto con V y pyproject?

El comando init crea la estructura base del proyecto y evita configuraciones manuales. Se generan tres archivos clave, incluyendo el estándar pyproject con una sección dependencies lista para usar.

V init
  • Python version: define la versión de Python del proyecto para asegurar consistencia.
  • readme: archivo inicial para documentación futura.
  • pyproject: archivo central para dependencias y configuración del proyecto.

Para agregar una dependencia como ruff (formateador estilo PEP ocho), usa add. El sistema escribe la versión adecuada en pyproject y genera Vlock, que fija versiones exactas, incluyendo las transitivas, para evitar incompatibilidades.

V add ruff

Si aparece un warning por desajuste de entornos, es porque V crea y usa un entorno .vm por defecto. Conviene borrar el entorno anterior y, si la terminal sigue apuntando al viejo entorno, cerrarla y abrirla de nuevo para que el warning desaparezca.

¿Qué comandos de V optimizan el flujo de trabajo?

Una vez configurado el entorno .vm, el flujo diario se simplifica con comandos que actualizan pyproject, limpian dependencias no usadas y sincronizan el entorno virtual para alinearlo con la configuración declarada.

¿Cómo agregar o quitar dependencias con V add y V remove?

  • Agrega paquetes y escríbelos en pyproject con su versión compatible.
  • Genera o actualiza Vlock con bloqueos de versiones.
  • Al eliminar, limpia dependencias transitivas que ya no se necesitan.
V add request V remove requests

Claves a considerar:

  • pyproject se actualiza en cada operación.
  • Vlock asegura reproducibilidad del entorno.
  • El borrado es inteligente: quita lo innecesario automáticamente.

¿Cómo sincronizar el entorno con V sync?

  • Alinea el entorno .vm con lo declarado en pyproject y Vlock.
  • Útil tras borrar o agregar dependencias, o al cambiar de rama.
  • Ideal para otros desarrolladores que descargan el proyecto y necesitan replicar el entorno exacto.
V sync

Consejos prácticos:

  • tras cambios de dependencias, ejecuta sync para evitar desajustes.
  • si quitaste una librería, sync removerá también su huella del entorno.

¿Cómo gestionar el entorno virtual .vm y evitar conflictos?

  • Cada vez que usas V, se activa el entorno .vm automáticamente.
  • Si ves un warning de entorno, cierra y abre la terminal para refrescarlo.
  • No subas .vm al repositorio: es específico de tu sistema.

Buenas prácticas adicionales:

  • mantiene tu lista en pyproject como fuente de verdad.
  • si tienes un requirements TXT, compáralo con pyproject para evaluar rendimiento.
  • usa siempre los mismos comandos de V en macOS y Windows para facilitar el trabajo del equipo.

¿Te quedó alguna duda o quieres compartir tu experiencia con V, pyproject y el entorno .vm? Comenta y cuéntanos qué tal te fue con la instalación y el rendimiento.