TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: ‘recursive_guard‘
问题是 ForwardRef._evaluate() 添加了一个新参数 ‘recursive_guard’,而在代码 pydantic/v1/typing.py(第 66 行)中缺少这个参数。这是一个python版本3.12.4的bug,阅读了网上的参考资料以后,可以通过将python版本下调为3.12.3解决。只需要在命令行中输入conda install python=3.12.3。
·
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: ‘recursive_guard’
描述
我正在使用以下版本构建我的项目:
- pydantic-2.7.3
- pydantic-core-2.18.4
- Python 运行时 - 3.12.4
问题是 ForwardRef._evaluate() 添加了一个新参数 ‘recursive_guard’,而在代码 pydantic/v1/typing.py(第 66 行)中缺少这个参数。
这是一个python版本3.12.4的bug,阅读了网上的参考资料以后,可以通过将python版本下调为3.12.3解决。
下面展示 我的代码以及报错内容
。
import lightning as pl
File "D:\anaconda\envs\diffusion\Lib\site-packages\lightning\__init__.py", line 17, in <module>
from lightning.app import storage # noqa: E402
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\diffusion\Lib\site-packages\lightning\app\__init__.py", line 24, in <module>
from lightning.app import components # noqa: E402, F401
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
File "D:\anaconda\envs\diffusion\Lib\site-packages\lightning\app\components\__init__.py", line 1, in <module>
from lightning.app.components.database.client import DatabaseClient
File "D:\anaconda\envs\diffusion\Lib\site-packages\lightning\app\components\database\__init__.py", line 1, in <module>
from lightning.app.components.database.client import DatabaseClient
File "D:\anaconda\envs\diffusion\Lib\site-packages\lightning\app\components\database\client.py", line 22, in <module>
from lightning.app.components.database.utilities import _GeneralModel
File "D:\anaconda\envs\diffusion\Lib\site-packages\lightning\app\components\database\utilities.py", line 20, in <module>
from fastapi import Response, status
File "D:\anaconda\envs\diffusion\Lib\site-packages\fastapi\__init__.py", line 7, in <module>
from .applications import FastAPI as FastAPI
from fastapi import routing
File "D:\anaconda\envs\diffusion\Lib\site-packages\fastapi\routing.py", line 24, in <module>
from fastapi import params
File "D:\anaconda\envs\diffusion\Lib\site-packages\fastapi\params.py", line 5, in <module>
from fastapi.openapi.models import Example
File "D:\anaconda\envs\diffusion\Lib\site-packages\fastapi\openapi\models.py", line 124, in <module>
class Schema(BaseModelWithConfig):
File "pydantic\main.py", line 808, in pydantic.main.BaseModel.__try_update_forward_refs__
File "pydantic\typing.py", line 554, in pydantic.typing.update_model_forward_refs
return super().__new__(cls)
File "pydantic\typing.py", line 520, in pydantic.typing.update_field_forward_refs
class _LiteralSpecialForm(_SpecialForm, _root=True):
File "pydantic\typing.py", line 66, in pydantic.typing.evaluate_forwardref
'Union',
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'
TypeError: ForwardRef._evaluate() missing 1 required keyword-only argument: 'recursive_guard'
解决方法
如果是使用anaconda的环境
只需要在命令行中输入conda install python=3.12.3
更多推荐
所有评论(0)