Open2

fastapiでemailバリデーションがエラーになる

nasubitanasubita
  File "pydantic/main.py", line 299, in pydantic.main.ModelMetaclass.__new__
  File "pydantic/fields.py", line 411, in pydantic.fields.ModelField.infer
  File "pydantic/fields.py", line 342, in pydantic.fields.ModelField.__init__
  File "pydantic/fields.py", line 456, in pydantic.fields.ModelField.prepare
  File "pydantic/fields.py", line 670, in pydantic.fields.ModelField.populate_validators
  File "pydantic/networks.py", line 356, in __get_validators__
  File "pydantic/networks.py", line 345, in pydantic.networks.import_email_validator
ImportError: email-validator is not installed, run `pip install pydantic[email]`

poetryを使っているので

$ poetry add pydantic -E email
The following packages are already present in the pyproject.toml and will be skipped:

  • pydantic

If you want to update it to the latest compatible version, you can use `poetry update package`.
If you prefer to upgrade it to the latest available version, you can use `poetry add package@latest`.

Nothing to add.
$ poetry update package
Updating dependencies
Resolving dependencies... (3.2s)

Writing lock file

No dependencies to install or update

解決しない。どうしたもんか

nasubitanasubita

pydanticドキュメントを漁って
pydanticドキュメント

$ poetry add email-validator
Using version ^1.1.3 for email-validator

Updating dependencies
Resolving dependencies... (3.5s)

Writing lock file

Package operations: 2 installs, 0 updates, 0 removals

  • Installing dnspython (2.1.0)
  • Installing email-validator (1.1.3)

いけました