Ошибка Import failed в ComfyUI появляется в консоли при запуске программы, когда один или несколько кастомных узлов (custom nodes) не смогли загрузиться из папки custom_nodes. В логе это обычно выглядит как строка Import failed рядом с именем пакета, после чего соответствующие ноды пропадают из интерфейса или помечаются красным.
Чаще всего причина — не отсутствие самих файлов узла, а невозможность импортировать Python-модули, от которых он зависит: библиотеки не установлены, версии конфликтуют или используется не та среда Python. Разберём пошагово, как диагностировать и устранить проблему, не ломая рабочую установку.
Что означает Import failed в логе ComfyUI
При старте ComfyUI сканирует папку custom_nodes и пытается выполнить импорт каждого найденного пакета. Если в процессе импорта возникает исключение — например, ModuleNotFoundError или ImportError — запуск не прерывается, но узел помечается как неудавшийся. В терминале вы увидите строку вида Import failed: ComfyUI-НазваниеПакета, а выше неё — полный traceback с конкретной причиной.
Ключевой момент: сама строка Import failed — это лишь итог. Настоящая причина всегда находится в нескольких строках выше, в тексте исключения Python. Именно его нужно читать в первую очередь, а не пытаться угадывать проблему по названию пакета.
Основные причины ошибки
Необходимо понимать, что сбой импорта почти всегда сводится к одной из нескольких типовых ситуаций. Ниже — наиболее распространённые варианты.
- 🔧 Не установлены зависимости — у узла есть файл
requirements.txt, но библиотеки из него не были установлены в окружение Python. - 🐍 Не та среда Python — пакеты установлены в системный Python, а ComfyUI запускается из встроенного (embedded) окружения или виртуальной среды, где этих библиотек нет.
- ⚡ Конфликт версий — узлу нужна другая версия библиотеки (например, torch или numpy), чем та, что уже установлена.
- 📁 Повреждённая или неполная установка узла — репозиторий склонирован частично, отсутствуют файлы или скачан архив без инициализации подмодулей.
- 🧩 Узел несовместим с текущей версией ComfyUI — код пакета устарел и использует функции, которых больше нет.
Точную причину подскажет traceback. Например, ModuleNotFoundError: No module named 'xyz' прямо указывает на отсутствующую библиотеку xyz, а cannot import name ... from ... — на несовместимость версий.
Шаг 1. Читаем traceback в консоли
Откройте окно консоли, из которого запускается ComfyUI, и найдите строку Import failed. Поднимитесь выше по логу и найдите блок, начинающийся со слова Traceback. Последняя строка этого блока — конкретная ошибка.
Если консоль закрывается слишком быстро или лог пролистывается, запустите ComfyUI вручную из терминала, чтобы вывод остался на экране. Для портативной сборки на Windows это обычно делается через запуск run_nvidia_gpu.bat из командной строки, а не двойным кликом.
Как отличить тип ошибки по тексту traceback
ModuleNotFoundError — библиотека не установлена в активное окружение. ImportError с "cannot import name" — версия библиотеки не та, что ожидает узел. OSError или DLL load failed — проблема с бинарными зависимостями (часто с CUDA-совместимостью torch). SyntaxError — код узла несовместим с вашей версией Python.
Шаг 2. Устанавливаем зависимости узла
Если traceback указывает на отсутствующий модуль, нужно установить зависимости. Важно: установку выполняйте в то же окружение Python, из которого запускается ComfyUI, иначе пакеты «уйдут» не туда, и ошибка останется.
Для портативной сборки ComfyUI на Windows путь к встроенному Python обычно находится в папке python_embeded рядом с основной директорией. Команда установки зависимостей конкретного узла выглядит примерно так:
python_embeded\python.exe -m pip install -r ComfyUI\custom_nodes\ИМЯ_УЗЛА\requirements.txt
Если у вас ComfyUI установлен через виртуальное окружение (venv) или Anaconda, сначала активируйте соответствующую среду, а затем выполните стандартную команду:
pip install -r requirements.txt
☑️ Проверка перед установкой зависимостей
⚠️ Внимание: установка пакетов в глобальный Python вместо окружения ComfyUI — самая частая причина того, что «всё установил, а ошибка осталась». Всегда проверяйте, какой интерпретатор обслуживает запуск программы.
Шаг 3. Разрешаем конфликты версий
Иногда зависимости установлены, но узлу требуется другая версия библиотеки. Типичный признак — ошибка cannot import name 'X' from 'Y': функция X существовала в старой версии пакета Y, но была удалена или переименована.
Проверить установленную версию можно командой pip show имя_пакета. Далее есть два пути: обновить узел до актуальной версии (многие разработчики оперативно адаптируют код под новые библиотеки) или установить совместимую версию пакета, если она указана в requirements.txt узла. Приоритет стоит отдавать обновлению узла — понижение версий общих библиотек может сломать другие узлы.
Шаг 4. Переустановка проблемного узла
Если зависимости в порядке, а импорт всё равно падает, возможно, сам узел установлен некорректно. Удалите папку проблемного пакета из custom_nodes и установите его заново — через ComfyUI Manager или вручную командой git clone с последующей установкой зависимостей.
После переустановки полностью перезапустите ComfyUI. Простое обновление страницы в браузере недостаточно: импорт узлов происходит только при старте серверной части.
| Тип ошибки в traceback | Вероятная причина | Основное действие |
|---|---|---|
| ModuleNotFoundError | Библиотека не установлена | Установить зависимости из requirements.txt |
| ImportError (cannot import name) | Несовместимая версия библиотеки | Обновить узел или согласовать версии |
| DLL load failed / OSError | Проблема бинарных зависимостей (torch, CUDA) | Проверить совместимость torch и драйвера GPU |
| SyntaxError | Код узла несовместим с версией Python | Обновить узел или проверить версию Python |
| FileNotFoundError | Неполная установка узла | Переустановить узел заново |
⚠️ Внимание: ошибка вида DLL load failed при импорте torch часто связана с несовместимостью сборки PyTorch и версии драйвера видеокарты. Не переустанавливайте драйверы вслепую — сначала проверьте в логе, какая именно библиотека не загружается, и сверьтесь с документацией своей сборки ComfyUI.
Когда проблема в самом узле
Бывает, что вы всё сделали правильно, но узел просто заброшен автором и несовместим с текущей версией ComfyUI. Признаки: репозиторий давно не обновлялся, в разделе Issues на странице проекта есть похожие жалобы без ответа.
В такой ситуации вариантов немного: найти поддерживаемый форк узла, поискать альтернативный пакет с тем же функционалом или временно удалить проблемный узел, чтобы он не мешал работе остальных. Один «битый» узел не мешает запуску ComfyUI, но может замедлять старт и засорять лог ошибками.
⚠️ Внимание: не редактируйте код узла вручную, если не уверены в последствиях. Правка чужого Python-кода может устранить одну ошибку и создать несколько новых, а при следующем обновлении узла изменения будут потеряны.
Часто задаваемые вопросы
Import failed появляется, но ComfyUI работает. Это опасно?
Нет, программа продолжит работать, но узлы из проблемного пакета будут недоступны. Если они используются в ваших рабочих процессах (workflow), соответствующие блоки отобразятся красным и не выполнятся.
Я установил все зависимости, но ошибка осталась. Что делать?
Проверьте, в какое окружение Python вы устанавливали пакеты. Для портативной сборки нужно использовать интерпретатор из папки python_embeded, а не системный Python. Также убедитесь, что вы полностью перезапустили ComfyUI после установки.
Можно ли игнорировать Import failed для ненужного узла?
Можно, если узел вам не нужен. Но чище будет просто удалить его папку из custom_nodes — это уберёт ошибку из лога и ускорит запуск.
После обновления ComfyUI сразу несколько узлов сломались. Почему?
Обновление ядра могло изменить внутренние функции, которые используют узлы. Обычно разработчики популярных пакетов быстро выпускают исправления — обновите узлы через ComfyUI Manager. Если обновлений нет, временно откатитесь на предыдущую версию ComfyUI или дождитесь адаптации узлов.
Где смотреть полный лог ошибок, если консоль закрылась?
Запустите ComfyUI из командной строки вручную — тогда весь вывод останется в окне терминала. Альтернативно перенаправьте вывод в файл, добавив к команде запуска конструкцию вида > log.txt 2>&1, и изучите сохранённый файл.