0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

PydanticImportError: BaseSettings has been moved to the pydantic-settings package...の対処法

Posted at

以前対応したことのある表題のエラーの対処法を記憶の底から掬い上げたので、今後同じ状況で困らないように備忘録を書いておきます。

結論

pydanticのバージョンがv2になっていたのが原因でした。
対処についてはこちらが参考になります。
私の場合はコードを変えたくなかったので、以下のコマンドを実行してインストールするバージョンを固定して対応。

pip install "pydantic==1.*"

経緯

現象

git管理されているコードをいつもと違う環境にcloneして実行しようとしたら以下のエラーが発生

PydanticImportError: BaseSettings has been moved to the pydantic-settings package.

調査

こちらを見るとインポートするパッケージを変えると解決するような感じですが、諸事情によりコードを変更したくなかったので、他の方法を考えます。
スレッドを読んでいくと、こちらのコメントに以下のようなことが書かれていました。

  • pydanticのv2でSettings managementの機能はpydantic-settingsというパッケージ名に分割された
  • v2をインストールした状態でv1のスタイルを使いたい場合はfrom pydantic.v1 import BaseSettingsと記載する

つまり、pydanticのv2がインストールされていることがエラーの原因ぽいので、v1をインストールすれば良いのでは?

というわけで、バージョン指定してインストールしたところ、うまくいきました。

実行したコマンド

pip install "pydantic==1.*"

pipenvを使用している人はpipenv install "pydantic==1.*"

最後に

実際はpipenv使っていており、Pipfile.lockにもちゃんとバージョン指定がされていたので、こんなことは起こらないと思うのですが、何故か発生しました。
この辺の深追いは時間があったらやります。

参考

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?