【ComfyUI】カスタムノードのtorchバージョン競合を解決する方法

どんな問題が発生したか

ComfyUIでカスタムノードをインストール、いざ起動しようとすると突然エラーが発生し、ワークフローが動かなくなる経験が方は多いのではないでしょうか。特に「torch」のバーョン関連エラーは一般的で、インストール自体は完了するものの、起動時にクラッシュしたり、特定のノードを使用したタイミングでエラーが表示されたりします。

筆者が遭遇した典型的なエラー例として、以下のようなメッセージが表示されるケースがあります:

ImportError: torch version mismatch: expected torch==2.4.1, found torch>=2.4.2
# または
AttributeError: module 'torch' has no attribute 'compile'
# または
The installed version of torch (2.4.1) is incompatible with required version (>=2.5.0)

これらのエラーは、あるカスタムノードが特定のtorchバージョンを要求し、別のノードが別のバージョンを要求しているため、依存関係が衝突してしまうことで発生します。ComfyUIは柔軟なアーキテクチャを持つ反面、このように異なる要件を持つノードが共存する際に課題が生じることがあります。

結論

torchバージョン競合の問題は、ComfyUI Managerを使用して依存関係を整理するか、环境を分离して対応する必要があります。まず現在の環境を確認し、不要なノードを削除またはアップデートすることで、多くの場合解決可能です。

具体的な手順

ステップ1:現在の環境を確認する

まず現在安装されているComfyUIとPython、パッケージのバージョンを確認します。ComfyUIが安装されているディレクトリでターミナル(Windowsの場合はコマンドプロンプトまたはPowerShell、Mac/Linuxの場合はターミナル)を開き、以下を実行します:

# Windowsの場合(Portable版)
cd E:ComfyUI_windows_portableComfyUI
python -c "import torch; print(f'torch: {torch.__version__}')"

# Mac/Linuxの場合
cd /path/to/ComfyUI
python3 -c "import torch; print(f'torch: {torch.__version__}')"

これで現在のtorchバージョンが表示されます。同時に、ComfyUIのバージョンも確認しておきましょう:

# ComfyUIのバージョンを確認
git rev-parse --short HEAD

ステップ2:問題の原因を特定する

次に、どのカスタムノードが問題を引き起こしているかを特定します。custom_nodesフォルダに移動し、各ノードのrequirements.txtまたはpyproject.tomlを確認しましょう:

# Windowsの場合
cd E:ComfyUI_windows_portableComfyUIcustom_nodes
dir /b

# Mac/Linuxの場合
cd /path/to/ComfyUI/custom_nodes
ls -la

各ノードのディレクトリに移動し、requirements.txtファイルを探します:

# 例えば ComfyUI-Manager の場合
cd ComfyUI-Manager
type requirements.txt  # Windows
cat requirements.txt   # Mac/Linux

特に「torch==」や「torch>=」といった指定がある行に注目してください。異なるバージョンが指定されているノードが複数ある場合、それが競合の原因です。

ステップ3:ComfyUI Managerを使って問題を診断する

ComfyUI Managerが安装されている場合は、このツールを使用して問題を解決できます。Managerには「Fix ComfyUI」機能や「Check Custom Nodes」機能が备わっています:

  1. ComfyUIを起動し、Manager интерфейсを開く
  2. 「Fix ComfyUI」ボタンをクリック
  3. 表示されたメニューから「Reinstall Dependencies」を選択
  4. または「Install Missing Custom Nodes」で不足しているパッケージをインストール

Managerを使用することで、各ノードの依存関係を自動的に整理してくれます。

ステップ4:競合するノードを特定して無効化する

手动で问题の原因を特定した場合は、问题のを引き起こしているノードを一时的に無効にすることで解决できることがあります。ノードを無効にするには、そのフォルダ名を名前変更します:

# Windowsの場合
rename ComfyUI-Example-Node ComfyUI-Example-Node.disabled

# Mac/Linuxの場合
mv ComfyUI-Example-Node ComfyUI-Example-Node.disabled

無効にした后、ComfyUIを再起動して问题が解决されたか确认します。特定のワークフローに必康なノードであれば、替代のノードを探、バージョンを更新する必要があります。

ステップ5:Python環境を分离する(根本的な解决法)

恒久的な解决として、condaやvirtualenvを使用して、ComfyUI専用のPython环境を作成することをお勧めします。これにより、異なるプロジェクト間の依存関係の競合を回避できます:

# MinicondaまたはAnacondaを使用する場合
conda create -n comfyui python=3.11
conda activate comfyui

# 必要なパッケージをインストール
pip install torch torchvision torchaudio --index-url https://download.pytorch.org/whl/cu121
pip install xformers

ただし、この方法を取る場合は、ComfyUI自体をこの新しい环境から启动するように设定する必要があります。具体的には、ComfyUIのlaunch.pyまたはrun_gpu.batファイルを編集して、新しいPython环境のパスを指定します。

ステップ6:configファイルをリセットする

稀に、ComfyUIの設定ファイル自体が破損している場合があります。その場合は、設定ファイルをリセットすることで解决できることがあります:

# Windows
# %APPDATA%ComfyUI フォルダにある以下のファイルを削除またはリネーム
# - extra_models_config.yaml
# - config.json

# Mac
~/Library/Application Support/ComfyUI/

# Linux
~/.local/share/ComfyUI/

これらのファイルを削除后、ComfyUIを再起動すると全新的な設定として起動します。再度ノードのインストールが必要な場合があるため、注意してください。

補足・注意点

バージョン依存について

  • GPU 环境の確認:torchのバージョン选择は、使用しているGPU(NVIDIA/AMD)によって異なります。NVIDIA GPUの場合はCUDA版本を確認し、適切なtorch buildを選択してください。
  • xformersの兼容性问题:xformersを使用している場合、torchのバージョンとcompatibilidadeが必要です。torchをアップデートした場合は、xformersも相应してアップデートする必要があります。
  • ノードの更新狀況

    :カスタムノードの開発者がメンテナンスを停止している場合があります。その場合、ノードが最新のComfyUIやtorchバージョンと非兼容になる可能性があります。

环境差異による落とし穴

  • Portable版と安装版:ComfyUIにはPortable版(ZIPファイルを解压即可使用)と安装版があります。Python环境の构成が异なるため、问题の解决方法也不同場合があります。
  • Windows/Mac/Linux:OSによってpip installのパッケージ名や路径が异なることがあります。特にWindowsではパス区切り文字()とMac/Linux(/)の違いに注意が必要です。
  • WSL环境:Windows Subsystem for Linux(WSL)でComfyUIを运行する場合、GPUアクセスの设定が追加で必要になります。

よくある落とし穴

  • git resetの误った使用:ノードのGitリポジトリで「git –hard」を行った場合、ComfyUI全体のインストール状态を破坏してしまう可能性があります。安易なgit操作は避けましょう。
  • 複数のマネージャー混在:ComfyUI Managerと他のノード管理ツールを混在させると、依存关系の管理が複雑になります。できればManagerに统一することをお勧めします。
  • Pythonバージョン不整合:ComfyUIはPython 3.10〜3.11を推奨しています。古いPythonバージョンを使用していると、最新のノードが動作しない場合があります。

参考元

おすすめ環境

💡 この問題を根本的に解決するには

ローカル環境でGPUトラブルが頻発する場合、クラウドGPUサービスの利用も検討してみてください。環境構築の手間なく、すぐにAI開発を始められます。

  • RunPod — RTX 4090が$0.44/h〜、ワンクリックでJupyter環境が起動
  • Vast.ai — コミュニティGPUマーケットプレイス、最安値でGPUレンタル
この記事は役に立ちましたか?