Python3.8导入transformers报错无法从typing_extensions导入TypeAlias怎么办
报错原因与解决办法
ImportError: cannot import name 'TypeAlias' from 'typing_extensions'
核心报错原因
TypeAlias是Python 3.10才加入标准库typing模块的类型注解标记,Python 3.8版本需要依赖typing-extensions第三方库提供该特性,而低于4.2.0版本的typing-extensions库不包含TypeAlias实现,无法匹配新版本transformers库的依赖要求- 绝大多数更新
typing-extensions后仍然报错的场景,是因为命令行执行pip命令更新的Python环境,和Jupyter Notebook当前运行内核绑定的Python环境不属于同一个,更新操作没有作用到实际运行代码的环境中
解决步骤
- 首先在报错的Jupyter Notebook单元格中执行以下代码,确认当前内核绑定的
typing-extensions版本:
import sys !{sys.executable} -m pip show typing-extensions
如果返回的Version字段低于4.2.0,在同一单元格执行以下命令完成适配版本的安装:
!{sys.executable} -m pip install --upgrade typing-extensions>=4.2.0
执行完成后重启Jupyter内核,即可正常导入transformers。
- 如果确认
typing-extensions版本已经符合要求仍然报错,说明你安装的transformers版本已经停止对Python 3.8的支持,可降级到适配Python 3.8的稳定版本:
!{sys.executable} -m pip install transformers==4.30.2
内容的提问来源于stack exchange,提问作者M_Eng
相关产品推荐
相关产品推荐

