背景:py37版本引入报错,据说是38版本才有的,因而报错,需要安装扩展包才能解决。
愿我们终有重逢之时,而你还记得我们曾经讨论的话题。
QQ group 868373192
QQ second group 277356808
>>> from typing import Any, Literal, Optional, Union
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
ImportError: cannot import name 'Literal' from 'typing' (/data/syle/lib/python3.7/typing.py)
从错误信息来看,问题出在 Literal 类型提示在 Python 3.7 中不可用。Literal 是在 Python 3.8 中引入的,因此在 Python 3.7 中直接导入会引发 ImportError。
解决方案
1. 升级 Python 版本: 升级到 Python 3.8 或更高版本,这样可以直接使用 Literal。
2. 使用 typing_extensions 包: 安装 typing_extensio