Stable Diffusion WebUIを使おうとして、ImportError: cannot import name 'Undefined' from 'pydantic.fields' が出た時の対処法
こんにちは、クロガネです。
久しぶりにStable Diffusion WebUI周りを触ったところエラーが発生したのでその対処法をメモっておきます。
と言っても公式リポジトリのIssueにすべて書いてあります。
環境
StabilityMatrix
症状
StabilityMatrixのモデルの場所を移動させたのち、すでにインストールしていた WebUIが認識されなくなったので、泣く泣く再インストールしたところ、以下のエラー文が出た。
ImportError: cannot import name 'Undefined' from 'pydantic.fields'
原因
原因はいたってシンプルで、pydanticがインストールされていないことにあります。
解決法
こちらのissueの中頃に解決策が書いてありました。
ImportError: cannot import name 'Undefined' from 'pydantic.fields' (D:\a1111\stable-diffusion-webui\venv\lib\site-packages\pydantic\fields.py) ·AUTOMATIC1111/stable-diffusion-webui ·ディスカッション #15557 (github.com)
1.10.15のpydanticをインストールしてあげれば良いようです。
StabilityMatrix上からでも、コマンドプロンプトから
StabilityMatrix上で修正
こちらはまあまあ簡単です。
Packages画面で右上の「…」を押して、「Pythonパッケージ」をクリック。
![](https://assets.st-note.com/img/1716721403887-u90wgUvu6p.png)
出てきた画面左上の「+」を押します。
![](https://assets.st-note.com/img/1716721454953-dgwgUVakal.png?width=1200)
すると、インストールのためのポップアップが出てくるので、
![](https://assets.st-note.com/img/1716721484077-jZ510baQ6f.png)
以下のように「pydantic==1.10.15」と入力してOKボタンを押せば完了です。
![](https://assets.st-note.com/img/1716721515442-08Cge27uyh.png)
後は通常通りwebUIを立ち上げれば自環境でも修正できました。
コマンドプロンプトから修正
こちらも同じくWebUIの仮想環境に入り、以下のコマンドを実行してあげればいいだけです。
pip install pydantic==1.10.15
仮想環境がwebui自体がインストールされている場所です。
でいうと、Packageのエラーが出ていたwebuiの右上の「…」を押して、「エクスプローラーで開くをwebuiのインストール先にたどり着けます。
![](https://assets.st-note.com/img/1716721196047-614VHxO8ud.png)
開いたフォルダ内の「venv」→「Scripts」と開いてください。
![](https://assets.st-note.com/img/1716721735295-LHZSLoXHtY.png?width=1200)
次にこのデイレクトリでcmdを開きます。
上のバーに「cmd」と入力すればこのディレクトリでコマンドプロンプトが立ち上がります。
![](https://assets.st-note.com/img/1716721805656-kcmPjlHfE6.png?width=1200)
あとはこのディレクトリ内にある「activate.bat」を実行すると仮想環境に入ることができます。
![](https://assets.st-note.com/img/1716721871050-yrMzhpVUeH.png?width=1200)
最後に下記コマンドを実行すれば完了です。
pip install pydantic==1.10.15
![](https://assets.st-note.com/img/1716721821432-yei55Swfr2.png?width=1200)
さいごに
お疲れ様でした!
環境を動かしたらいきなりエラーを吐いてきたので困りました。
多分、バージョンアップ関連のエラーだとは思いますが、割とさっくり解決したので安心ししました。
メモのために念のため残しておきます。
それでは!クロガネでした!
この記事が気に入ったらサポートをしてみませんか?