実現したいこと
エラーの原因を突き止めて、ソフトが動作するようにする。
前提
GoogleのColab上でStable diffusion使って画像を生成しています。特にコードを書き換えたりしたわけではないのですが、エラーが出て起動できなくなってしまいました。そもそもgradio.exceptions自体見つけられず・・・。助けてください。
発生している問題・エラーメッセージ
Traceback (most recent call last): File "/content/gdrive/MyDrive/sd/stable-diffusion-webui/webui.py", line 31, in <module> import gradio File "/usr/local/lib/python3.10/dist-packages/gradio/__init__.py", line 3, in <module> import gradio.components as components File "/usr/local/lib/python3.10/dist-packages/gradio/components.py", line 56, in <module> from gradio.blocks import Block, BlockContext File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 38, in <module> from gradio.exceptions import DuplicateBlockError, InvalidApiNameError ImportError: cannot import name 'InvalidApiNameError' from 'gradio.exceptions' (/usr/local/lib/python3.10/dist-packages/gradio/exceptions.py)
試したこと
・Colabの再起動
補足情報(FW/ツールのバージョンなど)
ここにより詳細な情報を記載してください。
google colabで
!pip install gradio
import gradio
を実行しても、エラーは出ません
> ImportError: cannot import name 'InvalidApiNameError' from 'gradio.exceptions' (/usr/local/lib/python3.10/dist-packages/gradio/exceptions.py)
が出る状態で下記を実行したら、何て表示されますでしょうか?
!pip list | grep gradio
gradio 3.28.1
gradio_client 0.1.4
と出ました!
> gradio 3.28.1
> File "/usr/local/lib/python3.10/dist-packages/gradio/blocks.py", line 38, in <module>
from gradio.exceptions import DuplicateBlockError, InvalidApiNameError
gradio 3.28.1の
https://github.com/gradio-app/gradio/blob/v3.28.1/gradio/blocks.py
の38行目付近で上記エラーメッセージと近いのは、37行目の
from gradio.exceptions import DuplicateBlockError, InvalidApiName
ですが、エラーメッセージの「InvalidApiNameError」ではなく「InvalidApiName」です
もっと新しいバージョンの、たとえばgradio 3.29.0の
https://github.com/gradio-app/gradio/blob/v3.29.0/gradio/blocks.py
の38行目は、エラーメッセージと同じ
from gradio.exceptions import DuplicateBlockError, InvalidApiNameError
です
異なるバージョンの「gradio」のファイルが混在してる状態になってるようです
ありがとうございます!!
つまり、手作業でv3.29.0を削除すれば改善されるんですかね?
> 手作業でv3.29.0を削除すれば改善される
おそらく現状は、同じ場所(「/usr/local/lib/python3.10/dist-packages/gradio」以下)に、異なるバージョンの「gradio」のファイルが混在してると思うので、削除するだけだと、必要なファイルが足りなくなると思います
正しくインストールして、一つのバージョンのファイルが全部揃ってる状態にする必要があります
回答1件
あなたの回答
tips
プレビュー