Convivencia de Python en Windows: Guía para Benchmarks de ComfyUI

Gestionar múltiples versiones de Python en Windows puede parecer una crisis existencial, pero es fundamental para proyectos exigentes como ComfyUI. Este artículo desglosa cómo organizar entornos virtuales, lanzadores y cachés para realizar pruebas de rendimiento y compatibilidad sin contaminación entre herramientas.

Technical diagram of multiple Python installations and shared caches for ComfyUI benchmarks
Diagrama de la arquitectura para múltiples versiones de Python en Windows, mostrando entornos aislados y el uso compartido del caché de wheels de pip.

El Lanzador Py y la Selección de Versión

La clave para convivir con múltiples Python es utilizar el Python Launcher. En lugar de llamar a python, usas py como árbitro imparcial. El comando py -0 lista todas las versiones instaladas, y el asterisco indica cuál es la versión por defecto del launcher.

Para tus pruebas de rendimiento, la mejor práctica es ser explícito siempre: usa py -3.x para decidir quién manda en cada ejecución. Nunca confíes en el default si quieres un control fino sobre tu entorno de trabajo.

Entornos Virtuales y Aislamiento Real

Los entornos virtuales (venv) son esenciales para evitar que los paquetes se mezclen. Es importante entender que venv no es una copia hardlink de otros entornos; crea un entorno aislado donde cada proyecto tiene sus propios archivos en Lib/site-packages.

A diferencia de Conda, que usa enlaces y cachés globales complejos, los venvs son brutales en su honestidad: nada se comparte implícitamente. Esto es ideal para detectar problemas de compatibilidad reales sin miedo a que un paquete rompa otro.

Gestión Inteligente del Pip

Al instalar paquetes, siempre usa python -m pip dentro de tu entorno activado. El launcher py ignora los venvs, por lo que usarlo directamente desactiva el aislamiento. Además, puedes aprovechar la eficiencia sin promiscuidad usando un caché de wheels común para todas tus versiones.

Análisis de Requerimientos y Compatibilidad

Ahora, aplicando esto a ComfyUI: al revisar el requirements.txt, surge un desafío crítico. Muchos paquetes modernos como PyTorch 2.7, Transformers 5.x o Accelerate ya no soportan Python 3.10.

Cuando ejecutas la instalación con una versión antigua, pip detecta silenciosamente que estos paquetes requieren versiones superiores (>=3.12) y simplemente los ignora sin lanzar errores explícitos.

Conclusión

La solución para tus benchmarks es clara: separar las pruebas de rendimiento en dos stacks distintos. Usa Python 3.10 para mantener un entorno legacy, pero migra a Python 3.12 para ejecutar el stack moderno y compatible con ComfyUI.