ImportError: cannot import name ‘Literal‘ from ‘typing‘

背景: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

猜你喜欢

转载自blog.csdn.net/SPESEG/article/details/143235444