Stable Diffusion Web UIがエラーで起動しない

CLIPのインストールに失敗 Stable Diffusion

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をクリックすると、いろいろなファイルをダウンロードしてくるのだけれど、最後の最後にこんな感じで「続行するにはなにかキーを押してください」と表示される。。。。
この場合、失敗です。

CLIPのインストールに失敗

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」もアンインストールしてください。

Pythonのアンインストール

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にあわせてダウンロードします。

Windowsをクリック
Python 3.10.11

ダウンロードしたファイルをクリックしてインストール。

解決策

さて、ここからが本番。どうやら私だけでなくみんなこのエラーに悩まされているらしい。
AIではらちがあかなかったので、Googleで検索したら一発。ただし、以下の2つを修正する必要があります。

modules\launch_utils.py の中身を修正

Stable Diffusion Web ULを展開した場所にある「modules」の中にある「launch_utils.py」というファイルをメモ帳で開き、

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」フォルダを削除しておきます。

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をクリックすると、

Stable Diffusion Web ULの画面

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

参考ページ

コメント

タイトルとURLをコピーしました