Hasty Briefsbeta

双语

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标志等替代方案,或可预防未来类似问题。