simpleeval安装报use_2to3无效错误 持续部署受阻求助
问题根因
本次报错的核心触发点是simpleeval 0.9.10版本与高版本setuptools的兼容性问题:
- setuptools 从 58.0.0 版本开始正式移除了对
use_2to3构建参数的支持 - simpleeval 0.9.10 版本的
setup.py配置中仍然使用了已废弃的use_2to3参数,在高版本setuptools环境下构建直接报错
3天前CI可正常运行,是因为当时CI环境的setuptools版本低于58.0.0,近期环境内setuptools版本更新后才触发了兼容性故障。
可落地解决方案
按优先顺序推荐以下方案:
方案1:升级simpleeval到兼容版本(最推荐)
simpleeval 从0.9.11版本开始已经修复了该问题,移除了对use_2to3的依赖。你只需在pyproject.toml中将simpleeval的版本约束调整为>=0.9.11,重新执行poetry update simpleeval更新依赖锁即可解决问题。
方案2:锁定setuptools版本到兼容范围
如果因业务逻辑兼容要求暂时无法升级simpleeval,可以将setuptools版本锁定在58.0.0以下:
- 在
pyproject.toml中添加依赖约束:setuptools = "<58.0.0" - 或者在CI执行
poetry update步骤前,先执行命令pip install "setuptools<58.0.0"临时降级setuptools版本
# CI步骤示例 pip install "setuptools<58.0.0" poetry update
两种方案任选其一执行后,即可恢复CI部署流程。
内容的提问来源于stack exchange,提问作者Pravesh Chapagain
相关产品推荐
相关产品推荐

