ComfyUIのワークフローの赤枠を消す方法
ComfyUIのワークフローをダウンロードしたり、画像またはjsonファイルをドロップしたとき、そのワークフローに必要なノードがインストールされていない場合、ノードが
赤枠になって、[実行する]ボタンをタップしても実行できません。本稿では、その赤枠を消す(=ノードをちゃんとインストールする)いくつかの方法をメモとして残したいと思います。
[1]Manager -> Install Missing Custom Nodes
まず、最初に試してみる方法です。
[2]git clone hettp://~
custom_nodesフォルダに移動し、nodeをgit cloneで直接インストール
する方法です。
インストールするnodeをネット上で探し、そのgitレポジトリを取得します。
[3] pip install
上の二つを試してもダメな時は、nodeはインストールされているが、
必要なライブラリやモジュールのインストールが不完全の可能性があります。
python main.pyで起動し、Import times for custom nodes: 以下のリスト
でエラーが起きているnodeを調べます。
Import times for custom nodes:
0.0 seconds: /mnt/deep/custom_nodes/websocket_image_save.py
0.0 seconds: /mnt/deep/custom_nodes/Comfyui_TTP_CN_Preprocessor
0.0 seconds: /mnt/deep/custom_nodes/masquerade-nodes-comfyui
0.0 seconds: /mnt/deep/custom_nodes/Comfyui-chatgpt-api
0.0 seconds: /mnt/deep/custom_nodes/ComfyUI-Detail-Daemon
0.0 seconds: /mnt/deep/custom_nodes/ComfyLiterals
0.0 seconds: /mnt/deep/custom_nodes/ComfyUI-MagCache
0.0 seconds: /mnt/deep/custom_nodes/FluxKontextCreator
0.0 seconds: /mnt/deep/custom_nodes/cg-use-everywhere
そして、スクロールupして、File Errorが起きているで、どのモジュールの読込が失敗しているかをチェックします。
そしてその部分が以下のようになっているとすると、
"/home/bill/ComfyUI/custom_nodes/comfyui-tensorops/nodes/__init__.py", line 7, in <module> from .redis import SaveToRedis, FetchFromRedis File "/home/bill/ComfyUI/custom_nodes/comfyui-tensorops/nodes/redis.py", line 3, in <module> import redis ModuleNotFoundError: No module named 'redis'
これをそのままChatGPTにコピペすると、
はい、次は replicate モジュールが見つからないというエラーですね。
これは Replicate
という「クラウド上でモデルを実行できるサービス」の Python クライアントです。comfyui-tensorops の face_swap.py で Replicate API を呼び出すために必要になっています。
解決方法
ComfyUI の venv を有効化
source /home/bill/ComfyUI/venv/bin/activate
replicate をインストール
pip install replicate
と出ますので、これに従ってモジュールをインストールし、
pythn main.py
でComfyUIを立ち上げ直します。
[5] ノードのバージョンを変更する
一度、そのノードをアンインストールし、再インストールする際に別のバージョンを選んでみます。
[6] ノードを作り直す
ComfyUIは本体もManagerもノードもバージョンアップが頻繁ですので、
ちょっと古いワークフローのノードが赤枠に囲まれていることがあります。
この場合、[5]のバージョンを変更するか、
その赤枠で囲まれたノードを作り直すことでうまくいくことがあります。
赤枠で囲まれたノードを残したまま、doubleクリックで同じノードを検索し、パラメータをコピーし、 リンクを新しいノードのほうに繋ぎ変えます。
これで、再実行して、赤枠が消えれば〇です。
[7] コードを変更する
この方法は最後の手段ですが、以前どの例でそうやったかを忘れてますので、
新しく遭遇した場合、ここに追記します。