「No module named 'xformers'」の対処(Stable Diffusion / ComfyUI)

結論を先に。xformers が入っていないか、torch の CUDA バージョンと合っていないのが原因です。Stable Diffusion や ComfyUI が使う Python に、torch と整合する xformers を入れ直せば直ります。

ModuleNotFoundError: No module named 'xformers'

原因

xformers が未インストールか、入っていても torch のビルド(CUDA バージョン)と合っていないケースです。xformers は torch のバージョンに強く依存します。

対処

  1. アプリが使う Python で入れる。python -m pip を使い、torch に整合するバージョンを入れます。
python -m pip install -U xformers

ComfyUI のポータブル版なら、同梱 Python を名指しします。

.\python_embeded\python.exe -m pip install -U xformers
  1. CUDA が合っていないなら、torch と xformers を揃えて入れ直す。先に torch を CUDA 対応版にしてから xformers を入れると整合します。

  2. そもそも xformers は必須ではありません。VRAM 節約と高速化のための任意ライブラリなので、無くても動きます。導入が難しければ、起動オプションで無効化して進めることもできます。

まとめ

  • 原因は未インストール、または torch との CUDA 不一致
  • python -m pip install -U xformers を、アプリが使う Python で実行
  • ComfyUI ポータブル版は python_embeded\python.exe を名指し
  • 必須ではないので、無効化して進める選択もできる