ChatGPTに頼んで、「Stable Diffusion Web UI」を私のパソコンにインストールしてみました。
ところが!なにやらエラーが出てきてどうしても使えるようにならない!
ChatGPTやGeminiに聞いてみたけれど、一向にエラーがなくなる様子はない!そこでいろいろ調べてみたら、やっぱりAIではなく人間の回答でようやく使えるようになりました。
Stable Diffusion Web ULのインストールに失敗する?
webui-user.bat の実行に失敗する
Stable Diffusion Web ULのインストールまでたどり着いたのですが、最後、「webui-user.bat」を実行させると以下のような画面になってしまいます。
この「webui-user.bat」はStable Diffusion Web ULの起動ファイルで、Stable Diffusion Web ULを使うときはこのファイルをダブルクリック(設定によってはシングルクリック)して使います。
初回だけ必要なファイルなどのダウンロードが始まるので、2~5分ほど時間がかかりますが、うまく使えるようになると、このファイルをクリックするだけで起動が始まり、起動に成功するとブラウザのStable Diffusion Web UL画面が表示されます。
CLIPのインストールに失敗している
どうやらCLIPのインストールがうまくいっていない様子。
webui-user.batをクリックすると、いろいろなファイルをダウンロードしてくるのだけれど、最後の最後にこんな感じで「続行するにはなにかキーを押してください」と表示される。。。。
この場合、失敗です。

note:This error originates from a subprocess, and is likely not a problem with pip.
ERROR: Failed to build ‘https’ when getting requirements to build wheel.
注: このエラーはサブプロセスに起因しており、pip の問題ではない可能性があります。
エラー: wheel をビルドするための要件を取得中に ‘https’ をビルドできませんでした。
最初から見直してみる
Pythonのクリーンアンインストール
まず、Pythonのバージョンは最新のものではなく、3.10.xあたりでないとトラブルが多いらしいです。
そこでで、一度最新のPythonをきれいさっぱりにアンインストールし、3.10.11をインストールしました。
Pythonのアンインストールは、Windowsの設定の「インストールされているアプリ」から普通に行えます。
このとき、「Python Launcher」もアンインストールしてください。

pipも削除
一応クリーンにするために、
C:\Users\ユーザー名\AppData\Localの中にある「pip」というフォルダも削除しておきます。
この「AppData」というフォルダは隠しフォルダなので、エクスプローラーの設定で表示させるようにします。
隠しファイルを表示させるには

Pythonフォルダも削除
C:\Users\ユーザー名\AppData\Local\Programes\Pythonこのフォルダも削除しておきます。
RoamingのPythonフォルダも削除
C:\Users\ユーザー名\AppData\Roaming\Python少し上に戻って、「Roaming」フォルダにある「Pythonフォルダ」も削除しておきます。
Python 3.10.11をインストール
Python 3.10.xの最後のバージョンは、「3.10.11」。こちらのページからダウンロードできます。
下にスクロールし、macOSとWindows版があるので、OSにあわせてダウンロードします。


ダウンロードしたファイルをクリックしてインストール。
解決策
さて、ここからが本番。どうやら私だけでなくみんなこのエラーに悩まされているらしい。
AIではらちがあかなかったので、Googleで検索したら一発。ただし、以下の2つを修正する必要があります。
modules\launch_utils.py の中身を修正
Stable Diffusion Web ULを展開した場所にある「modules」の中にある「launch_utils.py」というファイルをメモ帳で開き、

requirements_file = os.environ.get('REQS_FILE', "requirements_versions.txt")
requirements_file_for_npu = os.environ.get('REQS_FILE_FOR_NPU', "requirements_npu.txt")
xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.30')
clip_package = os.environ.get('CLIP_PACKAGE', "https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "https://github.com/mlfoundations/open_clip/archive/bb6e834e9c70d9c27d0dc3ecedeebeaeb1ffad6b.zip")
assets_repo = os.environ.get('ASSETS_REPO', "https://github.com/AUTOMATIC1111/stable-diffusion-webui-assets.git")
stable_diffusion_repo = os.environ.get('STABLE_DIFFUSION_REPO', "https://github.com/w-e-w/stablediffusion.git")
stable_diffusion_xl_repo = os.environ.get('STABLE_DIFFUSION_XL_REPO', "https://github.com/Stability-AI/generative-models.git")
上の赤い文字の部分を以下のように書き換えます。
xformers_package = os.environ.get('XFORMERS_PACKAGE', 'xformers==0.0.30')
clip_package = os.environ.get('CLIP_PACKAGE', "clip-anytorch")
openclip_package = os.environ.get('OPENCLIP_PACKAGE', "open-clip-torch")どこにあるかわからない
修正する箇所は、launch_utils.pyを右クリックし、「メモ帳で編集」を選択。メモ帳が起動するので、キーボーの「Crtl」と「Fキー」を同時に押し、
clip_package = os.environ.get(‘CLIP_PACKAGE’,
↑これをコピーし、検索欄に貼り付けてください。

修正し終わったら、「保存」します。
メニューの「ファイル」→「保存」をクリック。

何をしたか
デフォルトでは、
- GitHubからソースをダウンロード
- ローカルでビルド(ソースをコンパイルし、パソコンで実行可能なファイルに変換すること)
ところがこれだと依存関係でWindowsだと問題が起こりやすい。
そこで──
- pipの事前ビルド済みパッケージを使う
これにより、「コンパイル不要」「超安定」。問題となるビルド行程を完全にスキップ。
venvフォルダを削除
壊れた仮想環境を削除します。
stable-diffusion-webui\venv「venv」フォルダを削除しておきます。

webui-user.batを編集
続いて起動用のファイル「webui-user.bat」をメモ帳で開いて、
@echo off
set PYTHON=
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=
call webui.bat
以下のように書き換えます。
@echo off
set PYTHON=C:\Users\ユーザー名\AppData\Local\Programs\Python\Python310\python.exe
set GIT=
set VENV_DIR=
set COMMANDLINE_ARGS=--xformers --autolaunch
--opt-sdp-attention --xformers --xformers-flash-attention
call webui.bat「ユーザー名」は自分のパソコンに合わせて書き換えてください。
なお、Pythonのバージョンが3.10.xだと仮定。
やはり「保存」。
成功すると
上の2つを修正し、webui-user.batをクリックすると、

このような画面が表示されれば成功です。
ふぅ・・・つかれた・・・・。
実はAIにいろいろ聞いていたのだけれど、「原因ははっきりわかりました」なんて言うものの、さっぱりエラーが消えない。。。
ChatGPTもGeminiもそれぞれ違うどうしたものかな、と。

コメント