misc.log

日常茶飯事とお仕事と

Stable Diffusionをローカル環境に入れてみる

ここ2ヶ月いろいろ試した結果、画像処理関係だとローカル環境でStable Diffusionを動かすという手もあることに気づき、試してみることにしました。その際の記録をこちらに書いていきます。

先に結論(何をやったか)

ここではいろいろ試行錯誤した経緯を書き連ねていますが、先に「で、結局なにをやったの?」を書いておきますね。なお「gitって何?」とか「Pythonって何?」とかはご容赦ください。その辺はご自分でちゃちゃっと調べたり扱える方を想定しています。

  1. Gitをインストールする(バージョンは多分新しくてもいい)
  2. Python 3.10.6をインストールする(ここはバージョン合わせた方が多分無難)
  3. StableDiffusionをインストールしたいフォルダーで、コマンドプロンプトから「git clone https://github.com/AUTOMATIC1111/stable-diffusion-webui.git
  4. stable-diffusion-webuiフォルダーのwebui-user.batを実行する(最後、エラーになる)
  5. stable-diffusion-webuiフォルダーでコマンドプロンプトから「venv\Scripts\activate」実行(venvのプロンプトに切り替わる)
  6. venvプロンプトから「pip install wheel」を実行(wheelを手作業インストール)
  7. venvプロンプトから「pip install --no-build-isolation https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip」を実行(分離オフモードでclipを手作業インストール)
  8. stable-diffusion-webui/modules/launch_utils.py をテキストエディタで開き、349行目のURL部分を「https://github.com/joypaul162/Stability-AI-stablediffusion.git」に書き換える(インストール中の参照先URLを強制変更)
  9. 改めてstable-diffusion-webuiフォルダーのwebui-user.batを実行する

最終的に、「何かが動いているコマンドプロンプト」と「Stable Diffusion」と銘打たれたブラウザーが立ち上がればOK!

初心者用導入サイトの情報を試す

note.com
こちらに記載されていた方法を試しました。

Python 3.14を入れてしまう

最初、Pythonを導入するにあたり、最新版が3.14であったことからそちらをインストールしたところ、その後のStable Diffusionのインストールで「torchが扱えるPythonが見つからない」とのエラーで中断。改めてPython 3.10をダウンロード。3.14をアンインストールしてから3.10に入れ直しました。

インストール

webui-user.bat を実行したところ、「clip」のインストールでエラー。

Installing clip
Traceback (most recent call last):
File "C:\StableDiffusion\stable-diffusion-webui\launch.py", line 48, in
main()
File "C:\StableDiffusion\stable-diffusion-webui\launch.py", line 39, in main
prepare_environment()
File "C:\StableDiffusion\stable-diffusion-webui\modules\launch_utils.py", line 394, in prepare_environment
run_pip(f"install {clip_package}", "clip")
File "C:\StableDiffusion\stable-diffusion-webui\modules\launch_utils.py", line 144, in run_pip
return run(f'"{python}" -m pip {command} --prefer-binary{index_url_line}', desc=f"Installing {desc}", errdesc=f"Couldn't install {desc}", live=live)
File "C:\StableDiffusion\stable-diffusion-webui\modules\launch_utils.py", line 116, in run
raise RuntimeError("\n".join(error_bits))
RuntimeError: Couldn't install clip.
Command: "C:\StableDiffusion\stable-diffusion-webui\venv\Scripts\python.exe" -m pip install https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip --prefer-binary
Error code: 1
stdout: Collecting https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip
Using cached https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip (4.3 MB)
Installing build dependencies: started
Installing build dependencies: finished with status 'done'
Getting requirements to build wheel: started
Getting requirements to build wheel: finished with status 'error'

ZIPから解凍する方向でやりなおしてみる

clipのインストールに失敗(Couldn't install clip……)ということで検索してでてきたgithubでのやりとりで、修正版のZipファイルをダウンロードしてそちらから……というのがあったので試しました。

github.com
github.com

結論。同じ。clipのインストールでエラー。

clipを手作業でインストールする方法を試してみる

github.com

こちらのやりとりで、「stable-diffusion-webui\venv\Scripts」の下に、git cloneで「https://github.com/openai/CLIP.git」を持ってくるという方法が提示されていたので、そちらを試してみます。Scriptsフォルダーでターミナルを開いて、git cloneでCLIPを取得。その後、stable-diffusion-webui フォルダーにある「launch.py」をアプリから起動、で「Python」指定すると、またインストーラーが動き始めました。

一歩前進。Clipのインストール過程でGitHubのログインを求められるように。

でもそのままウィンドウが消えて終わり(調査続行中)。

Python 3.10.11 → 3.10.6に変更

最適なバージョンを完全に合わせてみました。それでもエラーが発生。エラーメッセージをよくみると

Getting requirements to build wheel did not run successfully.
exit code: 1

とのこと。wheel というライブラリ?をビルドするための環境が揃っていない。

ChatGPTにエラーメッセージをべったり貼り付けて聞く

これについてChatGPTに聞いてみたところ、clip自体ではなく、それを持ってきてからローカルでビルドする際にエラーがでているそうな。ChatGPTのお勧めで「pip/setuptoolsの更新を試してみては?」と言われたので、

python -m pip install --upgrade pip setuptools wheel

を試してみる。とりあえずこれ自体は成功。

念のため、ChatGPT氏にログを全部貼り付けて内容を見てもらった。

対応手順を出してくれたので、従ってみよう。

まず、フォルダー「C:\StableDiffusion\stable-diffusion-webui」でコマンドプロンプトを開いて、「venv\Scripts\activate」。これで、Pythonの仮想環境を扱うプロンプトが開く(多分。環境全体ではなく、個別の設定空間を展開するような感じ?あってる??)。

次に setuptools の強制再導入。

python -m pip install --upgrade --force-reinstall setuptools

成功。

次に、wheel のアップグレード。

python -m pip install --upgrade pip wheel

成功。

次に、エラーにもあった「pkg_resources」の存在を確認。

python -c "import pkg_resources; print('OK')"

だめだ。ここか……。


あらためてpkg_resource欠損をChatGPTに聞く

venvの再構築を提案される。まず、「stable-diffusion-webui\venv」フォルダーを削除(どのみち親フォルダーごとGitから持ってきたものなので、最悪全部とり直せばいいから消しても問題無い)。次に、コマンドプロンプトからpipキャッシュをクリア。

pip cache purge

その状態で「webui-user.bat」を再実行してみる → 同じところでエラー。

Pythonの所在を確認してみる

ChatGPTからの回答で「駄目だったら……」の流れで「インストールされているPythonの所在を確認してみる」というのがあったので、やってみたところ……3行目に「Microsoft\WindowsApps\python.exe」というのが。

もしかしたら、これのせいでPATH参照時に別の場所を見に行っている可能性があるようなので、「アプリ」→「アプリの詳細」→「アプリ実行エイリアス」でPython関連の2項目をOFFにしてみる。

念のためPCを再起動して、再度、webui-user.bat を実行……同じエラー。さらに念のため、stable-diffusion-webui をgitから持ってくるところからやりなおしても……だめ。ただ、今回はもしや……とおもい、実際にpkg_resourcesが有りそうなフォルダーを見てみたところ……フォルダーはある!?

んー?

pkg_resourcesフォルダーがあることをChatGPTに尋ねる

回答は「ビルド中に作成される一時的なPython環境(仮想的な環境)にpkg_resourcesが配置されていないのでは?」とのこと。フォルダーに配置されるライブラリ「setuptools」のバージョンが新しい場合に、pkg_resourcesが自動的に入らないケースがあるそうで。setuptoolsなどのバージョンを敢えて古いものにしてみては?との提案。そこで以下の手順を。

stable-diffusion-webuiフォルダーで、コマンドプロンプトからvenv環境を起動する。

venv\Scripts\activate

つぎにwetuptoolsを安定版の 69.5.1 に指定。

pip install setuptools==69.5.1

次にpipもバージョンを指定して更新。

pip install pip==23.3.1

こちらはコマンドが違うと叱られたので、エラーメッセージにあるこまんどでやりなおして完了。

そして念のためビルドキャッシュを削除(存在しなかったようでエラー)。

rmdir /s /q %TEMP%\pip-build-env-*

その状態で、webui-user.bat を再度実行するとエラーが変わった……

note: This error originates from a subprocess, and is likely not a problem with pip.
error: subprocess-exited-with-error

Getting requirements to build wheel did not run successfully.
exit code: 1

See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.

[notice] A new release of pip is available: 23.3.1 -> 26.0.1
[notice] To update, run: python.exe -m pip install --upgrade pip

pipのバージョンがだめだと。ChatGPTが言ったバージョンではなく、新しいものに換えろ、と。やってみよう。

再度、webui-user.bat を動かすも駄目。同じエラー。

隔離InsltallをOFFにしてwheelとclipをインストール(clipのビルドまで完了!)

ChatGPT氏とのやりとりで、pkg_resourcesが何らかの理由でインストール途中に作られる「一時的な領域」に作られないことが原因、ただし、一時的じゃない領域(stablediffusionを入れようとしているフォルダーのPythonの中)にはある……。というわけで、以下の2手順を試す事に。

wheelをインストール

venvが有効になったコマンドプロンプトで

pip install wheel

clipを --no-build-isolationで導入

手動でclipをインストール。

pip install --no-build-isolation https://github.com/openai/CLIP/archive/d50d76daa670286dd6cacf3bcd80b5e4823fc8e1.zip

これで、clipのビルドが以下のメッセージで完了した。

Successfully built clip Installing collected packages: wcwidth, regex, colorama, tqdm, ftfy,
clip Successfully installed clip-1.0 colorama-0.4.6 ftfy-6.3.1 regex-2026.1.15 tqdm-4.67.3 wcwidth-0.6.0

先に進むもリポジトリーが無い

改めて webui-user.bat を実行すると、一歩前進。しかし、GitHubへのログインを聞かれたあと、インストールはまたエラーに。エラーはこれ。

fatal: repository 'https://github.com/Stability-AI/stablediffusion.git/' not found

ファイルを持ってくる対象であるリポジトリーが見つからない……と。ChatGPTはgit pullなどで最新のリソースを持ってきてみて?とか言ってくるけれど駄目で。自力でWeb検索したらこちらがヒット。

detail.chiebukuro.yahoo.co.jp

回答の元ネタはこちら……
github.com

ですが、まとめるとこういうことのようです。

他の方のために書いておくと、stable-diffusion-webuiフォルダ内の
modules/launch_utils.pyの349行目のアドレスを下記に変更
https://github.com/joypaul162/Stability-AI-stablediffusion.git

modules/launch_utils.py のリポジトリURLを書き換えてみました。

……結論……いけた!!!たぶん。


画像生成!

やってみました。とりあえずこんな感じで。