数日前まで正常に利用できていたFooocus が突然利用できなくなった。
- バージョン 2.5 がリリースされたが、ソフトウェアの構成(依存関係)で不整合がいくつか生じたため、従前の環境を継続利用できなくなった
- Github に対応策が示されていたが、リカバリには至らなかった
- エラーメッセージから類推して、他の対策も試したが効果はなかった
結局のところ、最新版をダウンロードして再インストールしてリカバリした。
事象
- 数日前まで正常に利用できていたFooocus が突然利用できなくなる
- 起動用バッチファイル run.bat を実行すると、エラーメッセージやトレースログが出力されている
- 標準エラー出力(stderr)では、ModuleNotFoundError: No module named 'supervision' で終わる Traceback
- 標準出力(stdout)では、100行以上のメッセージが出力されるが、冒頭に torchsde のバージョン不整合がある旨示されている
Fooocus version: 2.5.0
Version mismatch for torchsde: Installed version 0.2.5 does not meet requirement torchsde==0.2.6
Installing requirements
Couldn't install requirements.
背景
- 一週間ほど前に Stable Diffusion Fooocus のバージョン 2.5がリリースされていたが、ネットで調べると同様の報告が数多くある
- 解決策としては、Github に掲載されている手順があったが、うまくいかなかった
対策の無かった対策
- Github に掲載されていた手順のすべて
これで解決した方々もいらっしゃるが自分の場合はダメだった
Github に掲載されている v.2.5.0 の更新手順


起動バッチの標準エラー出力には出力されなかったが、サブプロセスにおいて:
UnicodeDecodeError: 'cp932' codec can't decode byte 0x97 in position 2879: illegal multibyte sequence という標準エラー出力のメッセージがあるらしかった。
日本語 Windows 環境のPython でありがちな、実行コード (utf-8) とファイル (cp932) の文字コードページの違いによるエラーと推測して chcp 65001 をやってから起動するなども試したが、解決せず。
stderr: error: subprocess-exited-with-error
python setup.py egg_info did not run successfully.
exit code: 1
[6 lines of output]
Traceback (most recent call last):
File "<string>", line 2, in <module>
File "<pip-setuptools-caller>", line 34, in <module>
File "C:\Users\(略)\AppData\Local\Temp\pip-install-yyiz_n2q\groundingdino-py_a5edde5d85b14fe9a677a7efb4413ef0\setup.py", line 41, in <module>
readme = readme_file.read()
UnicodeDecodeError: 'cp932' codec can't decode byte 0x97 in position 2879: illegal multibyte sequence
[end of output]
note: This error originates from a subprocess, and is likely not a problem with pip.
error: metadata-generation-failedEncountered error while generating package metadata.
See above for output.
note: This is an issue with the package mentioned above, not pip.
hint: See above for details.
- Python パッケージマネジャー pip を最新版に更新
エラーメッセージでは、たぶんエラーとは関係ないが、最新版があるからと通知 notice されていたため一応やってみた
python -m pip install --upgrage pip

pip : python -m pip install --upgrade pip - torchsde を最新版に更新
pip install --upgrade torchsde

pip : pip install --upgrade torchsde - supervision をインストール
pip install supervision

pip : pip install supervision
pip コマンドでの更新・インストールはどれも一見、成功したかのように見えたが、すでに pip それ自体の更新はしたはずなのに、まだ最新版があると主張している…
自分の環境では、
- Fooocus に同梱されている Python Embedded 環境
- それとは別に、一般的な Python 環境
の2つがあり、よく見てみると、一回目の pip それ自体の更新は前者に対して、他は後者に対してやってしまって自滅した自分がいた。
おそらくは、どちらも中途半端に更新された状態になった。
この辺りで、現在の環境を更新して修正することを断念した。
対策があった対策
- 単に、最新版をダウンロードし直し、全て再インストール
いわゆるクリーンインストール…

時短の工夫
- 従前の実行環境のフォルダから、モデルのデータ models - checkpoint は移行した
以上