ComfyUI на Fedora 43: две виртуальные среды + запуск в один клик (март 2026)

Цель: сохранить два виртуальных окружения Python (например, 3.12 + 3.14) для совместимости, но запускать ComfyUI автоматически с чистой и легковесной конфигурацией.
Опубликовано:
Aleksandar Stajić
Обновлено: 1 марта 2026 г. в 10:36
ComfyUI на Fedora 43: две виртуальные среды + запуск в один клик (март 2026)

ComfyUI на Fedora 43: Две виртуальные среды + запуск в один клик (март 2026)

Дата: Март 2026
ОС: Fedora 43
Цель: Сохранить две Python venv (например, 3.12 + 3.14) для совместимости, но запускать ComfyUI автоматически с чистой и легковесной конфигурацией.

Корпоративная операционная система доставки (Enterprise Delivery Operating System)

Это руководство является частью серии Корпоративная операционная система доставки. Используйте эти категориальные хабы для навигации по всему стеку (инфраструктура → рабочие процессы → управление).

Архитектура

Эталонная архитектура для Корпоративной операционной системы доставки.

DevOps и среда выполнения

Развертывание, сервисы, порты, операции в рантайме и воспроизводимость.

Инструменты ИИ и автоматизация

Локальный стек ИИ, оркестрация, автоматизация и стабильные рабочие процессы.

Безопасность и соответствие требованиям

Разрешения, усиление защиты и безопасные настройки по умолчанию для локальных систем ИИ.

Наблюдаемость и производительность

Настройка производительности, мониторинг, бюджетирование VRAM/RAM и стабильность.

Зачем использовать две venv?

Инструменты ИИ развиваются быстро. Некоторые узлы и wheel-пакеты отстают от новейших версий Python, в то время как другие требуют именно их.

  • Python 3.12 venv → «скучно, но совместимо» (TensorRT/LW wheels/Lightning обычно работают стабильнее)
  • Python 3.14 venv → новейшие функции, но часто отсутствуют wheel-пакеты или возникают проблемы с импортом

Правило: никогда не смешивайте установки между venv. Всегда запускайте ComfyUI из той среды, которую планировали.

Настройка: один скрипт на каждую venv

Создайте небольшой скрипт запуска, который:
1) переходит в папку ComfyUI
2) активирует выбранную venv
3) запускает ComfyUI на localhost

1) Создайте скрипт запуска для venv 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) (Опционально) Создайте скрипт запуска для venv 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

Теперь вы можете запускать любую версию, не задумываясь:

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

Автозагрузка: пользовательская служба systemd (лучший вариант)

Это запускает ComfyUI при входе в систему, перезапускает при сбое и остается минималистичным (без root, без тяжелых оберток).

1) Создайте пользовательскую службу для 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) Включение + запуск

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

3) Логи (отладка)

journalctl --user -u comfyui312.service -f

(Если вам также нужна служба для 3.14, повторите действия с comfyui314.service и другим скриптом.)

GUI в один клик: ярлык рабочего стола (открытие ComfyUI в браузере)

Это создаст запись приложения в вашем меню. При нажатии:
1) запускается служба
2) открывается интерфейс в браузере

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

Примечания, помогающие избежать ошибок

  • Если вы видите, что pip устанавливает пакеты в ~/.local/..., значит вы не в том venv (или вы его не активировали).
  • Если узел выдает ошибку об отсутствии pkg_resources → установите setuptools внутри выбранного venv:source /home/x/ai/ComfyUI/.venv312/bin/activatepython -m pip install -U pip setuptools wheel
  • Ошибки узла TensorRT — нормальное явление для новых сборок Python: если он вам не нужен, отключите папку этого кастомного узла.

Что почитать дальше

Если вы хотите углубиться в тему, эти руководства напрямую связаны с настройкой выше:

Узлы ComfyUI: исправление зависимостей (Lightning, pkg_resources, ffmpeg)

Исправьте распространенные ошибки импорта узлов и обеспечьте стабильность вашего стека ComfyUI при обновлениях.

Два venv, два порта, ноль путаницы

Чистый запуск нескольких экземпляров ComfyUI: порты, службы и предсказуемые профили.

Бюджетирование VRAM: что на самом деле снижает риск OOM

Практические тактики работы с VRAM: режимы внимания, размеры моделей, батчинг и реальные ограничения.

Укрепление безопасности локального ИИ: права доступа, песочница и безопасные настройки по умолчанию

Снижение рисков в локальных ИИ-системах: права доступа к файлам, изоляция служб и более безопасные настройки по умолчанию.

Компромиссы (кратко)

Пользовательская служба systemd

  • ✅ стабильно, автоперезапуск, низкие накладные расходы, чисто
  • ⛔ требует разовой первоначальной настройки

Ярлык на рабочем столе

  • ✅ рабочий процесс в один клик
  • ⛔ по-прежнему зависит от интерфейса браузера

Два venv

  • ✅ лучшее из обоих миров (совместимость + актуальность)
  • ⛔ необходимо разделять порты/службы во избежание путаницы

Related Articles

Агенты для управления компьютером: почему успешная демонстрация всё ещё может быть ненадёжной системой

Агенты для управления компьютером: почему успешная демонстрация всё ещё может быть ненадёжной системой

Агенты для управления компьютером теперь могут выполнять впечатляющие рабочие процессы в браузере и на рабочем столе, но один успешный запуск доказывает способность—а не надежность. В этой статье показано, как проверять повторяемость, устойчивость к условиям среды, управление на длинном горизонте, осведомленность о состоянии, верификацию результатов и безопасную обработку целей.

Источник истины в системах ИИ: откуда на самом деле берутся надёжные знания

Источник истины в системах ИИ: откуда на самом деле берутся надёжные знания

Источник истины определяет, какой источник является авторитетным для конкретного факта или состояния. Узнайте, чем он отличается от RAG, происхождения данных, памяти, контекста, векторных баз данных и систем учёта.

Память ИИ-агента — это не RAG: как разграничить память, извлечение, состояние и контекст

Память ИИ-агента — это не RAG: как разграничить память, извлечение, состояние и контекст

Память агента, RAG, состояние и контекст часто используются так, будто они взаимозаменяемы. Это не так. Эта практическая архитектурная модель разделяет четыре уровня, показывает, где место каждого из них, и объясняет, что ломается, когда системы объединяют их в одно целое.

MCP vs A2A vs UCP vs AP2 vs A2UI: разбор стека протоколов агентов

MCP vs A2A vs UCP vs AP2 vs A2UI: разбор стека протоколов агентов

MCP, A2A, UCP, AP2 и A2UI часто представляют как конкурирующие агентские стандарты. В основном они решают разные проблемы интероперабельности. Это руководство сопоставляет каждый протокол с границей, которую он фактически стандартизирует,—и показывает, как они могут работать вместе в одной промышленной системе.

Граница достоверности ответа: недостающий слой между релевантностью и надёжными ответами ИИ

Граница достоверности ответа: недостающий слой между релевантностью и надёжными ответами ИИ

Источник может быть релевантным, авторитетным и при этом неверным для задаваемого вопроса. Недостающий слой — применимость: условия, при которых ответ остаётся в силе, и изменения, вынуждающие пересмотреть его. В этой статье вводится понятие «Граница действительности ответа» как паттерн проектирования источников для людей, ИИ-поиска и RAG-систем.

От исследовательского протокола к универсальному фреймворку рассуждений ИИ

От исследовательского протокола к универсальному фреймворку рассуждений ИИ

Методология, разработанная для строгих исследований с применением ИИ, может быть обобщена далеко за пределы самих исследований. Благодаря отделению доказательств от предположений, проверке конкурирующих гипотез, контролю фрейминга промптов, поиску опровергающих доказательств и применению предметно-ориентированных валидаторов та же архитектура рассуждений может улучшить отладку, проектирование программного обеспечения, стратегию, технический анализ и поддержку принятия решений с применением ИИ.

Фальсификация для ИИ-рассуждений: от ответов к проверяемым гипотезам

Фальсификация для ИИ-рассуждений: от ответов к проверяемым гипотезам

ИИ-модели могут генерировать убедительные доказательства почти для любой правдоподобной гипотезы. Более надёжная методология задаёт противоположный вопрос: какие доказательства ослабили бы, опровергли или заставили бы нас отказаться от вывода? В этой статье развивается ориентированное на фальсификацию рассуждение для LLM с использованием конкурирующих гипотез, различающих тестов, контрдоказательств и явных критериев отклонения.

Управляемая обвязка агента против self-hosted цикла агента: что вы приобретаете, что теряете

Управляемая обвязка агента против self-hosted цикла агента: что вы приобретаете, что теряете

“Self-hosted агент” может означать совершенно разные архитектуры. Это руководство разделяет управляемую обвязку, self-hosted среду выполнения и полностью самостоятельно управляемый цикл агента — и показывает, какая граница контроля на самом деле нужна командам.

Откуда LLM берёт данные? Источники данных RAG в Python

Откуда LLM берёт данные? Источники данных RAG в Python

LLM не знает магическим образом о ваших файлах, базах данных или API. Это практическое продолжение серии о RAG показывает на простом Python, как внешние данные становятся извлекаемыми доказательствами: от текстовых файлов и SQL до полнотекстового поиска, эмбеддингов, сборки контекста и финального вызова LLM.

Что такое RAG? Самое простое объяснение того, как это работает

Что такое RAG? Самое простое объяснение того, как это работает

RAG звучит сложно, но идея проста: прежде чем ИИ ответит, он сначала находит полезную информацию из источника знаний и передаёт эту информацию языковой модели. В этом руководстве объясняются RAG, LLM, состояние, память и инструменты с помощью одной простой ментальной модели.

Ollama — это не продукт: создание готовых к продакшену приложений на базе открытых LLM

Ollama — это не продукт: создание готовых к продакшену приложений на базе открытых LLM

Запустить локальную модель с Ollama просто. Создать готовое к продакшену Open-LLM-приложение сложнее: для этого требуются RAG, контроль доступа, абстракция провайдеров, оценка, логирование, дисциплина развертывания и контролируемый уровень приложения вокруг модели.

Исчерпывающее руководство по Evaluation Harness: освоение оценки производительности LLM

Исчерпывающее руководство по Evaluation Harness: освоение оценки производительности LLM

Это руководство содержит подробный обзор Evaluation Harness — важного фреймворка для строгой оценки возможностей больших языковых моделей (LLM) в корпоративных конвейерах LLMOps. Узнайте о настройке, лучших практиках и продвинутых методах для обеспечения надежного бенчмаркинга и оптимизации моделей.