使用環境
M3 Max MacBook Pro
Stability Matrix
状況
- 過去にStable Diffusion WebUIをインストールして作業してた
- でもバージョンアップとかめんどくさくて徐々にバージョンが古くなってく
- 色々なツールいれるたびにモデルコピーしたりするのがめんどくさい
- 色々一元管理できそうなStability Matrixをインストールした
- エラーで起動しない
エラー
ImportError: cannot import name 'packaging' from 'pkg_resources’
↓エラー全文
Python 3.10.11 (main, May 7 2023, 17:32:05) [Clang 16.0.3 ]
Version: v1.9.0
Commit hash: adadb4e3c7382bf3e4f7519126cd6c70f4f8557b
Launching Web UI with arguments: --api --skip-torch-cuda-test --skip-python-version-check --no-half --gradio-allowed-path /Applications/Data/Images
no module 'xformers'. Processing without...
no module 'xformers'. Processing without...
No module 'xformers'. Proceeding without it.
Warning: caught exception 'Torch not compiled with CUDA enabled', memory monitor disabled
Traceback (most recent call last):
File "/Applications/Data/Packages/Stable Diffusion WebUI/launch.py", line 48, in <module>
main()
File "/Applications/Data/Packages/Stable Diffusion WebUI/launch.py", line 44, in main
start()
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/launch_utils.py", line 465, in start
import webui
File "/Applications/Data/Packages/Stable Diffusion WebUI/webui.py", line 13, in <module>
initialize.imports()
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/initialize.py", line 39, in imports
from modules import processing, gradio_extensons, ui # noqa: F401
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/processing.py", line 18, in <module>
import modules.sd_hijack
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/sd_hijack.py", line 5, in <module>
from modules import devices, sd_hijack_optimizations, shared, script_callbacks, errors, sd_unet, patches
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/sd_hijack_optimizations.py", line 13, in <module>
from modules.hypernetworks import hypernetwork
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/hypernetworks/hypernetwork.py", line 8, in <module>
import modules.textual_inversion.dataset
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/textual_inversion/dataset.py", line 12, in <module>
from modules import devices, shared, images
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/images.py", line 20, in <module>
from modules import sd_samplers, shared, script_callbacks, errors
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/sd_samplers.py", line 5, in <module>
from modules import sd_samplers_kdiffusion, sd_samplers_timesteps, sd_samplers_lcm, shared, sd_samplers_common, sd_schedulers
File "/Applications/Data/Packages/Stable Diffusion WebUI/modules/sd_samplers_kdiffusion.py", line 3, in <module>
import k_diffusion.sampling
File "/Applications/Data/Packages/Stable Diffusion WebUI/repositories/k-diffusion/k_diffusion/__init__.py", line 1, in <module>
from . import augmentation, config, evaluation, external, gns, layers, models, sampling, utils
File "/Applications/Data/Packages/Stable Diffusion WebUI/repositories/k-diffusion/k_diffusion/evaluation.py", line 6, in <module>
import clip
File "/Applications/Data/Packages/Stable Diffusion WebUI/venv/lib/python3.10/site-packages/clip/__init__.py", line 1, in <module>
from .clip import *
File "/Applications/Data/Packages/Stable Diffusion WebUI/venv/lib/python3.10/site-packages/clip/clip.py", line 6, in <module>
from pkg_resources import packaging
ImportError: cannot import name 'packaging' from 'pkg_resources' (/Applications/Data/Packages/Stable Diffusion WebUI/venv/lib/python3.10/site-packages/pkg_resources/__init__.py)
何が原因?
「setuptools バージョン 68 以降で pkg_resources API が廃止されたため」らしい
https://github.com/aws-neuron/aws-neuron-sdk/issues/893
解決法
setuptoolsのバージョンを70より前のバージョンにダウングレードしてあげるpip install setuptools==69.5.1
ここでハマりポイント
Stability Matrixのvenvを使ってるからTerminal開いて上記コマンド叩くだけだと意味がない。
なのでvenvで使用してるPython環境を有効にしてpip install
してあげる必要がある
venvのbinディレクトリまで移動cd /Applications/Data/Packages/stable-diffusion-webui/venv/bin/python3.10
venvで使ってるPythonを起動source activate
Pythonが起動したらsetuptoolsをダウングレードpip install setuptools==69.5.1
多分これで起動するようになる。
複数のStable Diffusionをインストールしてる場合は各環境で上記ダウングレードを実行しないと動かないので注意。
ローカルにインストールしてた1.9.1と1.9.3が合ったけど、ダウングレードした1.9.3の方しか起動しない(当たり前)