python - ImportError:在Python中使用inflect库时无法从 'Annotated'导入名称 'pydantic.typing'

标签 python python-3.x module importerror

你好,我正在使用 Python 3.8

我正在尝试创建一个函数来排序和打印以下形式的列表,

{first_element}, {second_element} and {last_element}

我用过 inflect Python 中的库来执行此操作,因为预计会在我的作业中使用它。

import inflect
p = inflect.engine()

def sort():
    fruits = ["apple", "banana", "carrot"]
    mylist = p.join(fruits)
    print(mylist)

sort()

但是当我执行此操作时,出现以下错误:

Traceback (most recent call last):
  File "main.py", line 1, in <module>
    import inflect
  File "/home/username/.local/lib/python3.8/site-packages/inflect/__init__.py", line 77, in <module>
    from pydantic.typing import Annotated
ImportError: cannot import name 'Annotated' from 'pydantic.typing' (/home/username/.local/lib/python3.8/site-packages/pydantic/typing.py)

我尝试重新安装名为 Pydantic 的库。但这并没有改变任何事情。

最佳答案

Pydantic 2.0几个小时前发布,其中引入了 inflect 的重大更改。

理想情况下,inflect 项目中的 pydantic 版本应该有一个上限。跟踪 Inflect 问题 here .


检查您的计算机上安装的 pydantic 版本。它必须是2.0。您需要卸载它并安装最高的1.xx.x


我知道一旦这个问题解决,这个答案就会过时,但遇到此类重大更改时,只需执行以下两件事:

  1. 检查您计算机中安装的版本。
  2. 检查项目的 GitHub 页面上是否存在问题。

关于python - ImportError:在Python中使用inflect库时无法从 'Annotated'导入名称 'pydantic.typing',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76593169/

相关文章:

python - 使用旧键但包含子值创建新字典

python-3.x - 使用 pip 在 Windows 10 中安装 spaCy 时出现问题

php - 将较大的 Laravel 5 项目分解为模块的正确方法是什么?

zend-framework - Zend Framework 1.1 模块设置

module - 如何在 OCaml 中使用集合?

python - Boost.Python 多重返回参数

python - ipython和jupyter console有什么关系和区别

python - 在 pandas 中连接字符串列

Python - 以 YYYY-MM-DD 格式获取昨天的日期作为字符串

python - 在python中添加两个分数