Python3.6.0导入Flask报错AttributeError: 'typing'模块无'NoReturn'属性
问题产生原因
- 直接触发原因:报错中提到的
typing.NoReturn是Python官方在Python 3.6.2版本才加入标准库typing模块的特性,你当前使用的Python 3.6.0版本未内置该属性,因此调用时抛出属性不存在的错误。 - 根本原因:你安装的Flask及其依赖库Werkzeug版本过高,新版Werkzeug已经停止对Python 3.6系列的兼容支持,代码中使用了更高版本Python的类型注解特性,和你当前的Python 3.6.0环境不匹配。
解决方案
方案1:升级Python版本(最推荐)
Python 3.6版本已于2021年停止官方维护,建议直接将Python升级到3.7及以上的稳定版本,即可兼容最新版Flask,同时也能获得官方安全更新和更多新特性支持。
方案2:降级依赖库版本(必须保留Python 3.6.0环境时使用)
如果当前环境不能升级Python版本,可以执行以下命令安装兼容Python 3.6的Flask和Werkzeug版本:
pip install flask==2.0.3 werkzeug==2.0.3
该版本组合经过验证可完全适配Python 3.6系列环境,不会出现本次的属性缺失报错。
内容的提问来源于stack exchange,提问作者Kratos_bawa
相关产品推荐
相关产品推荐

