内容简介:Fedora 社区正在讨论弃用 Python 2 软件包的统一流程。 https://pythonclock.org Python 2 将于 2020 年 1 月 1 日正式退休,官方不再提供维护,当前倒计时不断缩短,但 Fedora 中还有一千多个软件包依赖于 Pyth...
Fedora 社区正在讨论弃用 Python 2 软件包的统一流程。
Python 2 将于 2020 年 1 月 1 日正式退休,官方不再提供维护,当前倒计时不断缩短,但 Fedora 中还有一千多个软件包依赖于 Python 2,一旦失去 Python 2 上游支持,那么系统中的这些遗留软件包的维护问题将变得很严峻,甚至根本无从下手。
为了解决这个问题,尽早去掉对 Python 2 的依赖,把基于 Python 2 的软件包都移除是最佳选择。但是实际操作起来会比较麻烦,并且可能对系统造成破坏性变更,于是 Fedora 的几位开发者提交了一项弃用 Python 2 软件包的统一流程提案,希望移除 Python 2 软件包更具可控性,让 Python 2 退休的影响降低。
该提案具体分情况描述了几个流程,主要涉及到针对 Python 2 subpackage(子包)、module(模块) 与 requirement(运行环境依赖)等几个方面的处理:
- 通过类似于孤立的过程,Python 2 子包可以很容易弃用。
- 没有其它功能的 Python 2 模块将被删除。
- 非必要的环境依赖将被删除。
- Fedora 社区将收集信息以帮助“项目管理”。
- 将从系统中删除不可安装的 Python 2 包。
具体来看,
弃用 Python 2 子包
如果维护者不再希望维护项目的 Python 2 部分(例如 python2- * 子包),那么对整个包进行孤立/退役会很容易,而如果不是整体打包弃用,想采用以下两种方式,那么很麻烦:
- 只删除 Python 2 部分,这可能会破坏依赖包。
- 将 Python 2 部分拆分为一个单独的组件,这需要通过正式审核。
此提案引入以下正式流程,将会更加容易弃用 Python 2 部分:
- 维护者不打包 Python 2 部分,但必须为其他人提供选择。
- 在拆分之前,必须对 Python 2 部分进行条件化(主要是为了帮助其他人找到它们)。
- 一些具有拆分出的 Python 2 部分的包不进行审核。
- 如果有任何东西取决于 Python 2 部分,那么在它们被删除之前进行相关声明。
- 有 3 周时间等待回复电子邮件。(孤立和退休一个包之间的正常时间是 6 周。)
移除模块
只提供 Python 2 可导入模块的包/子包将被删除,除非有其它包依赖于它们。
移除环境依赖
如果一个环境依赖(包括 Requires 和 BuildRequires)是仅支持 Python 2 的,并且对软件包的功能和质量几乎没有影响,那么它将被删除。比如:
- 很少使用的功能的测试,比如一个 BuildRequire 一个框架但只是测试与该框架的集成。
- 非必要的只用于测试的功能,比如用于分布式多进程测试的测试 runner 插件。
- 性能增强。
- Linter 和代码样式检查器。
- 代码和内容生成器。
在可能的情况下将尝试切换到这些依赖项的 Python 3 版本,而不是直接将其删除。
此提案如果获得批准,那么将对 Fedora 31 生效,作者指出,此提案只是更加可控版本的对 Python 2 包进行孤立,对此提案中的流程有不同看法的开发者,可以有以下几种选择:
- 向 Python SIG 提出反对意见。
- 提交对些提案的修改建议。
- 现在接管 Python 2。
- 表示有兴趣维护 Python 2,或者忽略此提案。
完整提案:https://fedoraproject.org/wiki/Changes/F31_Mass_Python_2_Package_Removal
以上所述就是小编给大家介绍的《Fedora 提出统一流程,弃用上千 Python 2 软件包更可控》,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对 码农网 的支持!
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Programming Collective Intelligence
Toby Segaran / O'Reilly Media / 2007-8-26 / USD 39.99
Want to tap the power behind search rankings, product recommendations, social bookmarking, and online matchmaking? This fascinating book demonstrates how you can build Web 2.0 applications to mine the......一起来看看 《Programming Collective Intelligence》 这本书的介绍吧!