ComfyUI en Fedora 43: Dos entornos virtuales + Inicio con un solo clic (marzo de 2026)

Objetivo: Mantener dos venvs de Python (p. ej., 3.12 + 3.14) por compatibilidad, pero iniciar ComfyUI automáticamente con una configuración limpia y ligera.
Publicado:
Aleksandar Stajić
Actualizado el: 1 de marzo de 2026, 10:36
ComfyUI en Fedora 43: Dos entornos virtuales + Inicio con un solo clic (marzo de 2026)

Ilustración

ComfyUI en Fedora 43: Dos entornos virtuales + Inicio con un solo clic (marzo de 2026)

Fecha: Marzo de 2026
SO: Fedora 43
Objetivo: Mantener dos venvs de Python (ej. 3.12 + 3.14) para compatibilidad, pero iniciar ComfyUI automáticamente con una configuración limpia y ligera.

Sistema Operativo de Entrega Empresarial

Esta guía es parte de la serie Sistema Operativo de Entrega Empresarial. Utilice estos centros de categorías para navegar por el stack completo (infraestructura → flujos de trabajo → gobernanza).

Arquitectura

Arquitectura de referencia para el Sistema Operativo de Entrega Empresarial.

DevOps y Tiempo de Ejecución

Despliegues, servicios, puertos, operaciones en tiempo de ejecución y repetibilidad.

Herramientas de IA y Automatización

Stack de IA local, orquestación, automatización y flujos de trabajo estables.

Seguridad y Cumplimiento

Permisos, endurecimiento y valores predeterminados seguros para sistemas de IA locales.

Observabilidad y Rendimiento

Ajuste de rendimiento, monitoreo, presupuesto de VRAM/RAM y estabilidad.

¿Por qué mantener dos venvs?

Las herramientas de IA avanzan rápido. Algunos nodos y wheels se quedan atrás respecto al Python más reciente, mientras que otros lo requieren.

  • Python 3.12 venv → “aburrido pero compatible” (TensorRT/LW wheels/Lightning suelen funcionar mejor)
  • Python 3.14 venv → funciones más recientes, pero es común encontrar más wheels faltantes o problemas de importación

Regla: nunca mezcles instalaciones entre venvs. Ejecuta siempre ComfyUI desde el venv que pretendas usar.

Configuración: Un script por venv

Crea un pequeño script de lanzamiento que:
1) cambie a la carpeta de ComfyUI
2) active el venv elegido
3) ejecute ComfyUI en localhost

1) Crea un lanzador para el venv de Python 3.12

mkdir -p ~/.local/bin

cat > ~/.local/bin/comfyui-start-312.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

cd /home/x/ai/ComfyUI
source /home/x/ai/ComfyUI/.venv312/bin/activate
exec python main.py --listen 127.0.0.1 --port 8188
EOF

chmod +x ~/.local/bin/comfyui-start-312.sh

2) (Opcional) Crea un lanzador para el venv de Python 3.14

cat > ~/.local/bin/comfyui-start-314.sh <<'EOF'
#!/usr/bin/env bash
set -euo pipefail

cd /home/x/ai/ComfyUI
source /home/x/ai/ComfyUI/.venv/bin/activate
exec python main.py --listen 127.0.0.1 --port 8189
EOF

chmod +x ~/.local/bin/comfyui-start-314.sh

Ahora puedes ejecutar cualquiera de las versiones sin pensarlo:

  • ~/.local/bin/comfyui-start-312.sh
  • ~/.local/bin/comfyui-start-314.sh

Inicio automático: servicio de usuario systemd (la mejor opción)

Esto inicia ComfyUI al iniciar sesión, se reinicia en caso de error y se mantiene minimalista (sin root, sin envoltorios pesados).

1) Crear el servicio de usuario para 3.12

mkdir -p ~/.config/systemd/user

cat > ~/.config/systemd/user/comfyui312.service <<'EOF'
[Unit]
Description=ComfyUI (Python 3.12 venv)
After=network.target

[Service]
Type=simple
WorkingDirectory=/home/x/ai/ComfyUI
ExecStart=/home/x/.local/bin/comfyui-start-312.sh
Restart=on-failure
RestartSec=2
Environment=PYTHONUNBUFFERED=1

[Install]
WantedBy=default.target
EOF

2) Habilitar + iniciar

systemctl --user daemon-reload
systemctl --user enable --now comfyui312.service
systemctl --user status comfyui312.service --no-pager

3) Registros (depuración)

journalctl --user -u comfyui312.service -f

(Si también deseas el servicio 3.14, repite con comfyui314.service y el otro script).

GUI de un solo clic: Lanzador de escritorio (abrir ComfyUI en el navegador)

Esto crea una entrada de aplicación en tu menú. Al hacer clic:
1) inicia el servicio
2) abre la interfaz en tu navegador

mkdir -p ~/.local/share/applications

cat > ~/.local/share/applications/comfyui.desktop <<'EOF'
[Desktop Entry]
Type=Application
Name=ComfyUI (Local)
Comment=Start ComfyUI and open the UI
Exec=sh -lc 'systemctl --user start comfyui312.service; xdg-open http://127.0.0.1:8188'
Icon=utilities-terminal
Terminal=false
Categories=Graphics;AI;
EOF

Notas para evitar errores comunes

  • Si ves que pip se instala en ~/.local/..., no estás en el venv correcto (o no lo activaste).
  • Si un nodo falla porque falta pkg_resources → instala setuptools dentro del venv elegido:source /home/x/ai/ComfyUI/.venv312/bin/activatepython -m pip install -U pip setuptools wheel
  • Los fallos del nodo TensorRT son normales en las versiones más recientes de Python: si no lo necesitas, desactiva esa carpeta de nodos personalizados.

Siguientes lecturas

Si quieres profundizar, estas guías se conectan directamente con la configuración anterior:

Nodos de ComfyUI: correcciones de dependencias (Lightning, pkg_resources, ffmpeg)

Corrige fallos comunes en la importación de nodos y mantén tu entorno de ComfyUI estable frente a las actualizaciones.

Dos venvs, dos puertos, cero confusión

Ejecuta múltiples instancias de ComfyUI de forma limpia: puertos, servicios y perfiles predecibles.

Presupuesto de VRAM: qué reduce realmente los errores de falta de memoria (OOM)

Tácticas prácticas para VRAM: modos de atención, tamaños de modelo, procesamiento por lotes y límites del mundo real.

Fortalecimiento de IA local: permisos, sandboxing y valores predeterminados seguros

Reduce el riesgo en sistemas de IA locales: permisos de archivos, aislamiento de servicios y valores predeterminados más seguros.

Pros y contras (rápido)

servicio de usuario systemd

  • ✅ estable, reinicio automático, bajo consumo de recursos, limpio
  • ⛔ requiere configuración inicial una sola vez

lanzador de escritorio

  • ✅ flujo de trabajo de un solo clic
  • ⛔ sigue dependiendo de la interfaz del navegador

dos venvs

  • ✅ lo mejor de ambos mundos (compatibilidad + última versión)
  • ⛔ debes mantener los puertos/servicios separados para evitar confusiones