Cómo arreglar el error de PyTorch CUDA en tu entorno Conda

Es frustrante cuando tu entorno de desarrollo se niega a arrancar, especialmente después de haber trabajado tanto en configurar todo. Si estás viendo errores como Pip subprocess error o mensajes de No matching distribution found for torch==2.6.0+cu126, es probable que estés cometiendo un error muy común al mezclar tipos de dependencias.

Captura de pantalla de un error de Python mostrando que no se encontró la distribución torch==2.6.0+cu126 al intentar instalarla desde la sección pip de un archivo YAML.
El estado inicial donde la instalación de PyTorch CUDA dentro del archivo YML provoca un fallo en el entorno Conda.

Primero, quiero tranquilizarte: no hiciste nada «mal» en tu código. Lo que pasó es que tu archivo environment.yml estaba demasiado optimista.

El problema real de PyTorch y Conda

La raíz del conflicto está en la línea - torch==2.6.0+cu126. El error ocurre porque el archivo YAML utiliza una sección pip: para instalar paquetes, pero las versiones CUDA de PyTorch (las que incluyen el sufijo +cuXXX) no existen en el índice estándar de PyPI.

Cuando ejecutas conda env create, Conda lee tu archivo y pasa los requisitos a la sección pip:. Como pip solo busca paquetes disponibles públicamente, intenta descargar +cu126, no lo encuentra, y lanza el error de distribución no encontrada.

La solución correcta: Separar las dependencias

El arreglo elegante es dejar de intentar congelar builds CUDA dentro del archivo YAML. Tu entorno está bien estructurado para los paquetes estándar como numpy, pandas o transformers.

Sigue este flujo de trabajo:

  1. Crea el entorno limpio: Ejecuta conda env create -f CogVideo.yml con tu archivo actualizado, asegurándote de que no contenga las versiones CUDA de PyTorch.
  2. Instala PyTorch después: Una vez el entorno esté listo, activa el entorno y ejecuta el comando oficial de instalación externa. Puedes usar pip con la URL del repositorio de PyTorch o conda directamente con los canales oficiales.

No intentes mezclar ambos métodos en el mismo paso; solo instala las versiones CUDA una vez que Conda ha terminado su trabajo inicial.

Gráfico comparativo mostrando que el entorno Conda debe usar Python 3.11 en lugar de 3.10 para soportar las últimas versiones de PyTorch.
Nota sobre la versión de Python: es recomendable actualizar a 3.11 para evitar problemas futuros con las nuevas versiones de PyTorch.
Esquema visual que muestra cómo separar la instalación de paquetes estándar en el YAML de la instalación posterior de torch con CUDA usando pip o conda.
La solución correcta: mantener el archivo YML limpio y usar comandos externos para las versiones CUDA de PyTorch.

Nota sobre la versión de Python

Finalmente, revisa tu versión de Python. Si estás usando python=3.10.18, considera actualizarlo a Python 3.11. Las versiones recientes de PyTorch (2.6+) empujan fuertemente hacia Python 3.11 para garantizar compatibilidad y rendimiento.

Cuando veas torch.cuda.is_available() retornar True, sabrás que todo está en su sitio.