Stable Diffusionの「Failed to build CLIP」ビルドエラーの直し方

Stable Diffusion WebUIを入れていたら、急に「Failed to build CLIP」と出て止まった。そんな場面の話です。

「note: This error originates from a subprocess」や「ModuleNotFoundError: No module named ‘pkg_resources’」というログが続いて、コマンドプロンプトが「Press any key to continue」で閉じる。再起動しても同じところでこける状態になる。

結論から言うと、原因のほとんどは仮想環境(venv)の中のsetuptoolsやpipが噛み合っていないことです。venvを作り直すか、パッケージを更新すれば直ります。

この記事では、何が起きているか、どこを直せばいいか、それでもダメな時にどこを見るかをまとめます。

Stable Diffusion WebUIのCLIPビルドエラーで何が起きているか

このエラーは、webui-user.batを実行している最中に出ます。AUTOMATIC1111の標準構成だと、起動の途中でCLIPというパッケージをGitHubから取ってきて、venvの中でビルドする処理が走る。その途中で止まっている状態です。

ログをよく見ると、「Failed to build ‘https://github.com/openai/CLIP/archive/…zip’」の少し前に「ModuleNotFoundError: No module named ‘pkg_resources’」が出ていることが多い。pkg_resourcesはsetuptoolsの一部で、これが読み込めないとビルドの準備で落ちる。続けて出る「Getting requirements to build wheel did not run successfully」は、要するに「ビルドに必要な情報が取れなかった」という意味になる。

厄介なのは、エラー直後に黒い画面が「Press any key to continue」で閉じることです。ログがすぐ消えるので原因が見えづらい。ただし、原因はだいたい同じ場所に集中しています。

venvとsetuptoolsの不整合が主な原因

venvの中のsetuptools・pip・wheelが古かったり壊れていたりすると、pkg_resourcesが読み込めない。CLIPのようにGitHubからソースを取ってビルドするパッケージは、この時点でアウトです。

とはいえ、原因はsetuptoolsだけとは限らない。むしろ最初にPython本体のバージョンを確かめておくと早い。個人的にも、まずPython 3.10.6が入っているかを最初に確認するようにしている。ここがズレていると、何度venvを作り直してもまた同じエラーが出ます。

整理すると、原因は3つです。

  • venv内のsetuptools・pip・wheelの不整合(一番多い)
  • Python 3.10.6からズレたバージョンを使っている
  • VPNやファイアウォールでGitHubに繋がっていない(まれ)

venvフォルダを削除して作り直す手順

一番確実なのは、venvをまるごと作り直す方法です。やることはシンプル。

  • stable-diffusion-webui のフォルダを開く
  • その中の「venv」フォルダを削除する
  • webui-user.bat をダブルクリックして再実行する

これだけで、venvがゼロから作り直されます。CLIPの再ダウンロードと再ビルドも走るので、待ち時間は数分から十数分ほどになる。途中で閉じないこと。終わるまで黒い画面はそのままにしておきます。

もしまた同じところで止まったら、画面を閉じる前にログを上にスクロールして読む。最初に出た赤い行が本当の原因です。後ろの長い赤文字に引っ張られないようにします。

venvを残したままsetuptoolsとpipを手動で更新する

拡張機能やモデルのパスを温存したい時は、venvの中身だけ更新する方法もあります。むしろこちらの方が早く済むケースもある。

手順は、まずstable-diffusion-webuiのフォルダでコマンドプロンプトを開く。次に .\venv\Scripts\activate と打ってvenvに入ります。プロンプトの先頭に (venv) と付けば成功です。

そのまま python -m pip install –upgrade pip setuptools wheel を実行する。3つまとめて最新に上げるコマンドになる。終わったらコマンドプロンプトを閉じて、webui-user.bat を普通に再実行します。

ただし、venv自体が壊れている時はこの手順では直らない。その場合は素直にvenv削除に切り替えます。

それでも直らない時にチェックする場所

venvを作り直してもまだCLIPのビルドで止まるなら、Python本体か通信周りを疑う番です。

Pythonが3.10.6になっているか

コマンドプロンプトで python –version と打ちます。「Python 3.10.6」と表示されればOK。違うバージョンが出たら、3.10.6を入れ直すか、起動時に py -3.10 を使うように直します。webui-user.batの中で python ではなく py -3.10 を指定する書き方もあります。

別バージョンのPythonが先に呼ばれている

Python 3.11や3.12も入っていて、そちらがPATHで先に呼ばれているパターンです。Windowsの「環境変数」からPATHの順番を直して、3.10.6を上に持ってくる。これでpython –versionの表示が変わるはずです。

GitHubに繋がっているか

ブラウザで github.com/openai/CLIP を開いてみる。ページが出ないなら、VPNや職場のネット制限が原因のことがあります。家のWi-Fiやスマホのテザリングに切り替えて試すと早い。

派生版を使っているとき

Stable Diffusion WebUI Forge や ComfyUI を使っている場合、起動スクリプトの中身が違う。同じ「CLIPのビルド失敗」でも対処が変わるので、その派生版の公式手順を見たほうがいい。今回の手順はAUTOMATIC1111向けです。

まとめ

長くなったので、要点だけ残しておきます。

  • 結論:CLIPのビルドエラーはvenv内のsetuptools不整合がほぼ原因
  • 次にやること:venvフォルダを削除してwebui-user.batを再実行
  • 覚えておくこと:Pythonは3.10.6、setuptools・pip・wheelは最新に保つ

Stable Diffusion WebUI(AUTOMATIC1111)のCLIPビルドエラーは、venv削除とPython 3.10.6の確認、そしてsetuptoolsの更新までやれば、ほぼ抜け出せます。

pocketlinehatebuimagegalleryaudiovideocategorytagchatquotegoogleplusfacebookinstagramtwitterrsssearchenvelopeheartstaruserclosesearch-plushomeclockupdateeditshare-squarechevron-leftchevron-rightleafexclamation-trianglecalendarcommentthumb-tacklinknaviconasideangle-double-upangle-double-downangle-upangle-downstar-halfstatus
タイトルとURLをコピーしました