AttributeError: module ‘pydantic_core‘ has no attribute ‘enum_schema‘. Did you mean: ‘any_schema‘?

FastAPI项目,执行fastpi dev和uvicorn main:app都报了如下错误:

Traceback (most recent call last):
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/bin/uvicorn", line 8, in <module>
    sys.exit(main())
             ^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/click/core.py", line 1157, in __call__
    return self.main(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/click/core.py", line 1078, in main
    rv = self.invoke(ctx)
         ^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/click/core.py", line 1434, in invoke
    return ctx.invoke(self.callback, **ctx.params)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/click/core.py", line 783, in invoke
    return __callback(*args, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/main.py", line 410, in main
    run(
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/main.py", line 577, in run
    server.run()
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/server.py", line 65, in run
    return asyncio.run(self.serve(sockets=sockets))
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 190, in run
    return runner.run(main)
           ^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/asyncio/runners.py", line 118, in run
    return self._loop.run_until_complete(task)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "uvloop/loop.pyx", line 1517, in uvloop.loop.Loop.run_until_complete
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/server.py", line 69, in serve
    await self._serve(sockets)
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/server.py", line 76, in _serve
    config.load()
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/config.py", line 434, in load
    self.loaded_app = import_from_string(self.app)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/uvicorn/importer.py", line 19, in import_from_string
    module = importlib.import_module(module_str)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/local/lib/python3.11/importlib/__init__.py", line 126, in import_module
    return _bootstrap._gcd_import(name[level:], package, level)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "<frozen importlib._bootstrap>", line 1204, in _gcd_import
  File "<frozen importlib._bootstrap>", line 1176, in _find_and_load
  File "<frozen importlib._bootstrap>", line 1147, in _find_and_load_unlocked
  File "<frozen importlib._bootstrap>", line 690, in _load_unlocked
  File "<frozen importlib._bootstrap_external>", line 940, in exec_module
  File "<frozen importlib._bootstrap>", line 241, in _call_with_frames_removed
  File "/home/baoz/coding/stream-formatter/stream_formatter/main.py", line 22, in <module>
    from fastapi import (
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/fastapi/__init__.py", line 7, in <module>
    from .applications import FastAPI as FastAPI
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/fastapi/applications.py", line 16, in <module>
    from fastapi import routing
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/fastapi/routing.py", line 22, in <module>
    from fastapi import params
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/fastapi/params.py", line 5, in <module>
    from fastapi.openapi.models import Example
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/fastapi/openapi/models.py", line 299, in <module>
    class Operation(BaseModelWithConfig):
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_model_construction.py", line 202, in __new__
    complete_model_class(
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_model_construction.py", line 539, in complete_model_class
    schema = cls.__get_pydantic_core_schema__(cls, handler)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/main.py", line 626, in __get_pydantic_core_schema__
    return handler(source)
           ^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 502, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 753, in _generate_schema_inner
    return self._model_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 580, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 580, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 916, in _generate_md_field_schema
    common_field = self._common_field_schema(name, field_info, decorators)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1081, in _common_field_schema
    schema = self._apply_annotations(
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1825, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1806, in inner_handler
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 758, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 840, in match_type
    return self._match_generic_type(obj, origin)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 864, in _match_generic_type
    return self._union_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1152, in _union_schema
    choices.append(self.generate_schema(arg))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 502, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 758, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 836, in match_type
    return self._apply_annotations(source_type, annotations)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1825, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1907, in new_handler
    schema = metadata_get_schema(source, get_inner_schema)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_std_types_schema.py", line 314, in __get_pydantic_core_schema__
    items_schema = handler.generate_schema(self.item_source_type)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 96, in generate_schema
    return self._generate_schema.generate_schema(source_type)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 502, in generate_schema
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 758, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 840, in match_type
    return self._match_generic_type(obj, origin)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 864, in _match_generic_type
    return self._union_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1152, in _union_schema
    choices.append(self.generate_schema(arg))
                   ^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 497, in generate_schema
    from_property = self._generate_schema_from_property(obj, obj)
                    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 648, in _generate_schema_from_property
    schema = get_schema(
             ^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/main.py", line 626, in __get_pydantic_core_schema__
    return handler(source)
           ^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 753, in _generate_schema_inner
    return self._model_schema(obj)
           ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 580, in _model_schema
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 580, in <dictcomp>
    {k: self._generate_md_field_schema(k, v, decorators) for k, v in fields.items()},
        ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 916, in _generate_md_field_schema
    common_field = self._common_field_schema(name, field_info, decorators)
                   ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1081, in _common_field_schema
    schema = self._apply_annotations(
             ^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1825, in _apply_annotations
    schema = get_inner_schema(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_schema_generation_shared.py", line 82, in __call__
    schema = self._handler(source_type)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 1806, in inner_handler
    schema = self._generate_schema_inner(obj)
             ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 758, in _generate_schema_inner
    return self.match_type(obj)
           ^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_generate_schema.py", line 829, in match_type
    return get_enum_core_schema(obj, self._config_wrapper.config_dict)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic/_internal/_std_types_schema.py", line 95, in get_enum_core_schema
    enum_schema = core_schema.enum_schema(
                  ^^^^^^^^^^^^^^^^^^^^^^^
  File "/home/baoz/.cache/pypoetry/virtualenvs/stream-formatter-6SvkHO6P-py3.11/lib/python3.11/site-packages/pydantic_core/core_schema.py", line 3974, in __getattr__
    raise AttributeError(f"module 'pydantic_core' has no attribute '{attr_name}'")
AttributeError: module 'pydantic_core' has no attribute 'enum_schema'. Did you mean: 'any_schema'?

## 原因:未知

看pydantic的文档https://docs.pydantic.dev/latest/api/pydantic_core_schema/#pydantic_core.core_schema.literal_schema

是有enum_schema的,很奇怪它为什么会抛异常,同样的代码在另一台服务器是能正常运行的。 

## 解决: 

做了如下步骤后,错误消失了,也不知道具体是通过哪一步解决的:

pipx upgrade poetry
poetry add h11
poetry install --sync --only=main

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值