ComfyUIのカスタムノードが「Import Failed」になるときの対処

ComfyUIを起動すると、カスタムノードがこう出て読み込まれないことがある。

Import Failed: <node名>
ModuleNotFoundError: No module named 'xxx'

原因はほぼ一つ。そのノードが必要とする依存ライブラリ(requirements.txt)が、ComfyUIが実際に使うPythonに入っていないことだ。特にWindowsのポータブル版は、システムのPythonではなく同梱の embedded python を使うので、ここを取り違えると延々と直らない。

まずManagerに直させる

ComfyUI Manager を入れているなら、「Install Missing Custom Nodes」や各ノードの「Try fix」で依存を入れ直すのが早い。

手動で入れる(ポータブル版)

ComfyUIが使うPythonを名指しして入れる。ポータブル版なら同梱の python_embeded を使う。

.\python_embeded\python.exe -m pip install -r .\ComfyUI\custom_nodes\<ノード> equirements.txt

手動で入れる(venv運用)

自分でvenvを作って動かしているなら、それを activate してから入れる。

Terminal window
source venv/bin/activate
pip install -r ComfyUI/custom_nodes/<ノード>/requirements.txt

ポイントは、入れる先のPythonを間違えないこと。システムのPythonに入れても、ComfyUIが別のPythonを見ていれば反映されない。

まとめ

  • 原因はノードの依存がComfyUIのPythonに入っていない
  • まず ComfyUI Manager の fix を試す
  • ポータブル版は python_embeded\python.exe -m pip install -r ...
  • venv運用は activate してから入れる
  • 入れる先のPythonを取り違えない