ImportError: cannot import name 'Annotated' and 'ValueRange'

ImportError: cannot import name 'Annotated' and 'ValueRange'

你好我用的是Python3.8

我正在实现一个带有修复列表的数据类,为此我有以下代码:

from dataclasses import dataclass
from typing import Annotated, List, ValueRange
from pydantic import validate_arguments

@validate_arguments
@dataclass
class WorldArea:
    ...
    data: Annotated[List[float], ValueRange(1, 3)]
    ...

想法是数据将是一个包含 1、2 或 3 个元素的列表,如您所见,我正在使用 Annotated 和 ValueRange,但是当我执行时出现以下错误:

File "a.py", line 2, in from typing import List, ValueRange ImportError: cannot import name 'Annotated' from 'typing'

File "a.py", line 2, in from typing import List, ValueRange ImportError: cannot import name 'ValueRange' from 'typing'

Annotated 已在 Python 3.9 中引入(请参阅链接部分的最后一行)。

链接部分中的

ValueRange(和 MaxLen)似乎是示例 类。

它们不是typing包的一部分。