ComfyUI(ReActor)で「Failed building wheel for insightface」の対処

ReActorなどのフェイススワップ系ノードを入れると、insightfaceのインストールでこう止まることがある。

Failed building wheel for insightface
error: Microsoft Visual C++ 14.0 or greater is required.

insightfaceがソースからビルドされようとしていて、Windowsにコンパイラが無いために失敗している。GPUの問題ではなく、ビルド環境の問題だ。

まずpipを上げてwheelを取りにいく

ビルド済みのwheelが取れれば、コンパイルは要らない。ComfyUIが使うPythonでpipを上げる。

.\python_embeded\python.exe -m pip install -U pip
.\python_embeded\python.exe -m pip install insightface

ビルド済みwheelを直接入れる

それでもビルドに回るなら、自分のPythonバージョンに合う insightface のwheelファイルを入手して、直接入れる。

.\python_embeded\python.exe -m pip install insightface-0.7.3-cp311-cp311-win_amd64.whl

ファイル名のcp311の部分は、ComfyUIのPythonバージョンに合わせる。違うと入らない。

それでも必要ならビルドツールを入れる

wheelが手に入らない場合は、「Microsoft C++ Build Tools」を入れて「C++によるデスクトップ開発」を選び、ビルドできる環境にする。

まとめ

  • 原因はinsightfaceのソースビルドでコンパイラが無い
  • まず python_embeded のpipを上げて再インストール
  • だめならPythonバージョンに合うwheelを直接入れる
  • 最終手段としてC++ Build Toolsを入れる
  • 入れる先はComfyUIが使うPython