「No module named ‘triton’」
「subprocess.CalledProcessError」
ComfyUIやStable Diffusion WebUI Forgeで、こんなエラーに遭遇して途方に暮れたことはありませんか?特に最新のNVIDIA RTX 40xx/50xxシリーズで高速化の恩恵を受けようとすると、この「Tritonの壁」にぶつかることがよくあります。
この記事では、実際にRTX 5090搭載のWindows環境で、数々のエラーを乗り越え、最終的にComfyUIでSageAttentionとTritonを安定して動作させることに成功した全記録を、トラブルシューティングの過程も含めて詳細に解説します。
なぜエラーが起きるのか?根本原因の理解
この問題の核心は、以下の3つの要素の複雑な依存関係にあります。
- SageAttention: 高速化のためのライブラリ。動作にはTritonが必須。
- Triton: NVIDIAが開発した並列処理ライブラリ。公式にはWindowsをサポートしておらず、インストールが非常に厄介。
- PyTorch: 機械学習フレームワーク。特定のNightly(開発版)ビルドにのみ、Windowsで動作するTritonが同梱されていたが、その組み合わせは日々変化し非常に不安定。
私たちが直面したのは、まさにこの「不安定なNightlyビルドの依存関係の迷路」でした。pipの自動解決に頼ると、バージョンが1日違うだけでエラーが連鎖し、インストールが不可能になります。
最終的にたどり着いた「王道」の解決策
結論から言うと、最も確実で再現性の高い方法は以下の通りです。
「システムの環境を整え、非公式ながら実績のあるWindows用Tritonを手動でインストールし、安定版のPyTorchと組み合わせる」
このアプローチで、私たちは全てのコンパイルエラーを解決しました。
【完全版】インストール手順
前提条件
- NVIDIA製GPU(特にRTX 40xx/50xxシリーズで有効)
- Git for Windows
- 7-Zip
ステップ1:C++ビルド環境の準備(最重要)
Tritonは実行時にC++のコードをコンパイルするため、PCにC++のビルド環境が必須です。
- Visual Studioのダウンロードページにアクセスします。
- 「Tools for Visual Studio」から「Build Tools for Visual Studio 2022」をダウンロードします。
- インストーラーを起動し、「ワークロード」タブで「C++によるデスクトップ開発」にチェックを入れてインストールします。これが無いと、後のコンパイルが100%失敗します。
ステップ2:公式Pythonのインストール
ComfyUIポータブル版に同梱されているPythonは、コンパイルに必要なライブラリが不足している場合があります。システムに公式Pythonをインストールするのが確実です。
- Python公式サイトからPython 3.12(または3.11)の**Windows Installer (64-bit)**をダウンロード。
- インストーラー起動時に、必ず「Add python.exe to PATH」にチェックを入れます。
ステップ3:ComfyUIの仮想環境の再構築
- 既存のComfyUIポータ-ブル版のpython_embededフォルダを削除(またはリネーム)します。
- ComfyUIのルートフォルダでコマンドプロンプト(またはPowerShell)を開きます。
- 以下のコマンドで、システムにインストールしたPythonを使い、新しい仮想環境venvを作成します。Generated cmd
python -m venv venv
content_copydownloadUse code with caution.Cmd
ステップ4:必要なライブラリのインストール
- 作成した仮想環境を有効化(アクティベート)します。Generated cmd
.\venv\Scripts\activate
content_copydownloadUse code with caution.Cmdプロンプトの先頭に(venv)と表示されればOKです。 - PyTorchのインストール: RTX 5090の要件(CUDA 12.8以上)を満たすため、cu128対応の安定版をインストールします。(cu121でも下位互換性により動作します)Generated cmd
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
content_copydownloadUse code with caution.Cmd - Triton for Windowsのインストール: ここが最大のポイントです。有志(oobabooga氏)が提供するWindows用のビルド済みTritonをインストールします。
- oobabooga/tritonのリリースぺージにアクセス。
- triton-2.1.0-cp312-cp312-win_amd64.whl のような、ご自身のPythonバージョン(この場合は3.12なのでcp312)に合ったファイルをダウンロードします。
- ダウンロードした.whlファイルをComfyUIのルートフォルダに置き、以下のコマンドでインストールします。Generated cmd
pip install .\triton-2.1.0-cp312-cp312-win_amd64.whl
content_copydownloadUse code with caution.Cmd
- SageAttentionのインストール: Tritonが導入されたので、SageAttentionもpipで簡単にインストールできます。Generated cmd
pip install sageattention
content_copydownloadUse code with caution.Cmd - ComfyUIのその他依存関係をインストール:Generated cmd
pip install -r .\ComfyUI\requirements.txt
content_copydownloadUse code with caution.Cmd
ステップ5:起動と確認
- 仮想環境が有効なまま、以下のコマンドでComfyUIを起動します。Generated cmd
python ComfyUI\main.py
content_copydownloadUse code with caution.Cmd - 起動ログにtritonやsageattentionのエラーが出ないことを確認します。
- ワークフローを実行し、高速化の恩恵を享受しましょう!
まとめ
最新技術の導入は、しばしばパッケージの依存関係という深い森に迷い込むことがあります。しかし、エラーメッセージを一つずつ丁寧に読み解き、原因を特定すれば、必ず解決策は見つかります。今回のケースでは、「Windows用のTritonは非公式パッケージとして手動で導入する必要がある」という知識が最終的な突破口となりました。
この記事が、同じ問題に直面している誰かの助けになれば幸いです
コメント