You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

安装/卸载Python包触发AttributeError:abc模块无update_abstractmethods属性

问题分析

问题根源是attrs库版本与Python 3.9不兼容:abc.update_abstractmethods是Python 3.10才新增的方法,但当前环境中的attrs库代码错误地在Python 3.9环境中触发了该方法调用(代码里的PY310版本判断逻辑失效或版本适配错误)。包管理操作会触发这段特定逻辑,导致报错;而现有脚本能正常运行,是因为业务代码未涉及到这段包管理时才会执行的逻辑。

解决方案

1. 临时修复恢复pip功能

找到文件C:\Users\user_name\AppData\Local\Programs\Python\Python39\lib\site-packages\attr\_make.py(注:原路径中的attr_make.py应为attr/_make.py的笔误),定位到build_class函数的末尾代码,替换为兼容Python 3.9的逻辑:

cls = self._patch_original_class()
# 兼容Python3.9及以下版本,判断abc模块是否存在目标方法
if hasattr(self.abc, 'update_abstractmethods'):
    return self.abc.update_abstractmethods(cls)
else:
    return cls

保存文件后,pip即可正常执行安装/卸载操作。

2. 降级attrs到Python3.9兼容版本

打开终端执行以下命令,安装适配Python3.9的稳定版attrs:

pip install attrs==21.4.0

该版本支持Python 3.6至3.10,可彻底解决版本不兼容问题。

3. 后续预防措施

  • 安装依赖时指定兼容当前Python版本的范围,例如pip install attrs<22.0(attrs 22.0+开始部分特性依赖Python3.10+)
  • 定期用pip check命令排查依赖版本冲突

内容的提问来源于stack exchange,提问作者user17312322

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.01 09:23:19