部分Notebook导入Gradio报错:无法从typing_extensions导入TypeAliasType
问题现象
在Colab或Kaggle的非新建Notebook中,执行!pip install gradio安装完成后,导入Gradio时触发如下错误:
14 from pydantic_core import CoreSchema, core_schema
15 from pydantic_core import validate_core_schema as _validate_core_schema
---> 16 from typing_extensions import TypeAliasType, TypeGuard, get_args, get_origin
18 from . import _reprImportError: cannot import name 'TypeAliasType' from 'typing_extensions' (/usr/local/lib/python3.10/dist-packages/typing_extensions.py)
已确认typing_extensions版本为4.9.0,且新建Notebook、本地环境均可正常导入Gradio。
问题原因
这类异常的核心原因是Notebook内核进程缓存了旧版本的typing_extensions模块:
- Colab/Kaggle的预装环境可能提前安装了低版本的typing_extensions
- 即使后续通过pip升级到4.9.0,未重启的内核仍会加载之前缓存的旧模块文件,导致导入失败
- 新建Notebook是全新环境,无缓存残留,因此可正常运行
解决方案
强制重装并指定typing_extensions版本
执行以下命令,确保覆盖旧版本文件:!pip install --force-reinstall typing_extensions==4.9.0重启Notebook内核
在Colab/Kaggle界面中找到「重启内核」选项(通常在「运行时」菜单下),必须完成这一步才能让新安装的模块生效。验证并导入Gradio
重启后执行以下代码确认版本并导入:import typing_extensions print(typing_extensions.__version__) # 确认输出4.9.0 import gradio as gr备选方案:安装兼容版本的Gradio
如果上述步骤仍无效,可尝试安装对typing_extensions依赖更稳定的Gradio版本:!pip install gradio==4.16.0
内容的提问来源于stack exchange,提问作者A.B.

