Recent Disruptive Changes from Setuptools
a year ago
- #Python
- #Packaging
- #Setuptools
- Setuptools 78.0.1版本引入了破坏性变更,强制对setup.cfg文件实施更严格的验证,特别是键名中连字符与下划线的使用规范。
- 这一变更导致约12,000个软件包(包括Requests等流行库)无法正常使用,促使78.0.2版本紧急回滚该改动。
- Setuptools历来存在破坏性变更问题,早期版本曾对Astropy和PyTorch等项目造成影响。
- Python打包生态系统的复杂性意味着构建工具(如Setuptools)的破坏性变更可能产生广泛的连锁反应。
- 批评集中在缺乏变更弃用的沟通机制,以及在未充分评估生态影响的情况下就移除连字符支持的决定。
- 相关讨论强调需要建立更好的弃用处理流程,并提高终端用户对警告信息的可见性。
- 会上提及uv工具和pip的--break-system-packages标志等替代方案,或可预防未来类似问题。