你好,我正在使用 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
。
我知道一旦这个问题解决,这个答案就会过时,但遇到此类重大更改时,只需执行以下两件事:
- 检查您计算机中安装的版本。
- 检查项目的 GitHub 页面上是否存在问题。
关于python - ImportError:在Python中使用inflect库时无法从 'Annotated'导入名称 'pydantic.typing',我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/76593169/