开发四年只会写业务代码,分布式高并发都不会还做程序员? >>>  

Fedora 社区正在讨论弃用 Python 2 软件包的统一流程。

https://pythonclock.org

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 软件包更可控相关推荐

  1. NC外部统一流程管理平台方案

    1.前言 NC是用友面向集团企业的世界级高端管理软件,目前NC基于8000家集团企业客户的实力,使其在同类产品市场占有率已经达到亚太第一,面向大型企业集团和成长中的集团企业的信息化需求,用友NC6的产 ...

  2. 小时级部署,客户数上千,神策数据的私有化部署靠什么取胜?

    秉承着"做正确的事情,而不做简单的事情"的理念,神策数据自创立之初,就采用"私有化部署 + SaaS "的企业服务模式,这无疑是一条更难的路,但通过在这一方向上 ...

  3. 京东上千页面搭建基石——CMS前后端分离演讲史读后感

    阅读文章:京东上千页面搭建基石--CMS前后端分离演讲史 文章网址:https://mp.weixin.qq.com/s?__biz=MzIwODA4NjMwNA==&mid=26528978 ...

  4. 十亿用户数据,上千个用户标签维度,用户分析怎么做?

    1月14日,Kyligence 产品经理陈思捷开启了我们在 2021 年的首场线上分享,为大家介绍了用户行为分析的应用场景.以及通过一些行业案例展示如何使用 Kyligence 进行用户行为分析,最后 ...

  5. 基于flowable的upp(统一流程平台)运行性能优化(1)

    经过一年规模化应用,近期现场反馈出现运行性能问题.其实,我们在构建upp系统时,已经知道了在一定时间点后会出现性能问题,但迫于团队整体研发平衡,以及对当前计算机性能的评估,就停留了下来. 当下,到了解 ...

  6. 国内最大的房产中介公司如何管理上千门店固定资产?

    国内最大的房产中介公司如何管理上千门店固定资产? 众所周知房产中介公司作为轻资产运营公司,虽然其单体门店的投资成本并不重,但单体门店的服务辐射范围仅在1.5公里到3公里范围之内,作为国内最大的房产中介 ...

  7. 京东上千页面搭建基石——CMS前后端分离演进史

    声明:本文来自京东张开涛的微信公众号(kaitao-1234567),授权CSDN转载,如需转载请联系作者. 作者:于林坤,2012年加入京东,网站移动研发部频道业务技术负责人,先后多次主导京东商城首 ...

  8. 统一流程平台----助力企业数字化转型的工具

    在全面经济转型的大环境下,企业运营数字化/可视化需求在不断加深,企业数字化是在保证企业现有运营模式的基础上,引入数据化信息平台来协助企业运营流程标准化,同时提供企业运营流程中岗位知识化积累与支持. 企 ...

  9. 熬夜写代码,不如换女装入GitHub获上千Star?

    作者 | 琥珀 出品 | AI科技大本营(ID: rgznai100) 程序员如何以合规手段快速获得 GitHub 上千 Star? 新年刚过,GitHub Trending 上一个名为"D ...

最新文章

  1. 解决ArcMap启动时只停留在初始化界面的方法
  2. DISTINCT 去重---SQL
  3. onmousewheel
  4. 【Linux】3_基本权限UGO的命令(chmod和chown)
  5. GPU编程与CG语言之阳春白雪下里巴人 读书笔记
  6. OpenCASCADE:Modeling Data之几何实用程序
  7. D3js(二): d3js基础
  8. matlab hashset,MATLAB集合操作
  9. sql中“delete from 表名”表示_SQL查询语句知识点总结
  10. 在pandas中遍历DataFrame行
  11. 计算机如何自动屏幕保护,怎样设置屏保
  12. java微信第三方支付
  13. python restful风格_总结python bottle框架支持jquery ajax的RESTful风格的PUT和DELETE方法
  14. 转:GCC,LLVM,Clang编译器对比
  15. L1-053 电子汪-PAT团体程序设计天梯赛GPLT
  16. 《Android和PHP开发最佳实践》一第3章 PHP开发准备
  17. nginx-反向代理笔记
  18. mysql省市区县街道
  19. dos窗口启动mysql
  20. java异或_干货:Java异或运算符的使用方法

热门文章

  1. 在后台代码中引入XAML的方法
  2. 仿桌面通知pnotify插件
  3. Nagios监控笔记上
  4. UNITY3D拓展编辑器 - 目录
  5. c语言模拟实现oc引用计数
  6. 使用阿里云服务器时遇到的问题及解决办法
  7. 像童话一样学习OSPF原理
  8. SMS主站点配置详细图解:Sms2003系列之二
  9. entjs 键盘监听
  10. 记一次 调节有音量界面 上移的bug