stable diffusionのdockerのビルドエラー (original) (raw)

久々にstable diffusionをローカルで動かそうとしたらdockerコンテナのビルドで下記のエラーが発生。

: webui-docker-auto-1 | Mounted extensions webui-docker-auto-1 | Installing extension dependencies (if any) webui-docker-auto-1 | Traceback (most recent call last): webui-docker-auto-1 | File "/stable-diffusion-webui/webui.py", line 13, in webui-docker-auto-1 | initialize.imports() webui-docker-auto-1 | File "/stable-diffusion-webui/modules/initialize.py", line 23, in imports webui-docker-auto-1 | import gradio # noqa: F401 webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/gradio/init.py", line 3, in webui-docker-auto-1 | import gradio.components as components webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/gradio/components/init.py", line 3, in webui-docker-auto-1 | from gradio.components.bar_plot import BarPlot webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/gradio/components/bar_plot.py", line 7, in webui-docker-auto-1 | import altair as alt webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/init.py", line 650, in webui-docker-auto-1 | from altair.vegalite import * webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/vegalite/init.py", line 2, in webui-docker-auto-1 | from .v5 import * webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/vegalite/v5/init.py", line 2, in webui-docker-auto-1 | from altair.expr.core import datum webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/expr/init.py", line 7, in webui-docker-auto-1 | from altair.expr.core import ConstExpression, FunctionExpression webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/expr/core.py", line 6, in webui-docker-auto-1 | from altair.utils import SchemaBase webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/utils/init.py", line 14, in webui-docker-auto-1 | from .plugin_registry import PluginRegistry webui-docker-auto-1 | File "/opt/conda/lib/python3.10/site-packages/altair/utils/plugin_registry.py", line 6, in webui-docker-auto-1 | from typing_extensions import TypeAliasType, TypeIs, TypeVar webui-docker-auto-1 | ImportError: cannot import name 'TypeIs' from 'typing_extensions' (/opt/conda/lib/python3.10/site-packages/typing_extensions.py) webui-docker-auto-1 exited with code 1

対処方法

「webui-docker-auto-1 | ImportError: cannot import name 'TypeIs' from 'typing_extensions' (/opt/conda/lib/python3.10/site-packages/typing_extensions.py)」をググってみると下記に外人さんのやり取りを発見。

最後のほうに対処法が書かれてれてたので

./services/AUTOMATIC1111/Dockerfile

を下記のようにオレンジの行を追加。

これで再度ビルドを実行したら無事成功してWeb UIにアクセスできた。

calfeche13さんのコメントしか読んでなかったから上記のような変更を加えたが、よく見てみるとDockerfileの変更内容も書かれてた。。。試してないけど、どっちでも成功するんじゃないかと思う。

備忘録

stable diffusionのコンテナビルドは下記を参考にさせてもらった。

書かれてる通りだけど、実際に実行したコマンドは以下の通り。

環境

OS:ubuntu 22.04
CPU:i9-9900K
GPU:RTX-3060 12GB
RAM:32GB

コンテナのビルドと起動

mkdir /work/stableDiffusion
cd /work/stableDiffusion
git clone https://github.com/AbdBarho/stable-diffusion-webui-docker
cd /work/stableDiffusion/stable-diffusion-webui-docker
docker compose --profile download up --build

ビルド完了後の起動

cd /work/stableDiffusion/stable-diffusion-webui-docker
docker compose --profile auto up --build

コンテナのstable diffusionにアクセス

http://<ホストPCのIPアドレス>:7860

とりあえず、適当に絵を描かせて動作確認。

stable diffusion

めでたし、めでたし。

気が向いたら感想をお願いします。(ログイン不要、ボタンを押すだけです)