知行编程网知行编程网  2022-11-01 17:30 知行编程网 隐藏边栏  28 
文章评分 0 次,平均分 0.0
导语: 本文主要介绍了关于Python2的落幕:寿命还剩113天,逾期停止维护的相关知识,包括地球还剩多少寿命,以及python许可证过期这些编程知识,希望对大家有参考作用。

Python2结束:生命还剩113天,到期后停止维护

作为目前最流行的编程语言,Python的出现让计算机编程不再是一项稀有的专业技能,而是普通人可以学习和使用的灵丹妙药。它也是人工智能领域最常用的语言之一。但在三个月内,Python 可能正在经历历史的变化。

Python2结束:生命还剩113天,到期后停止维护

昨天,Python 官方网站“The End of Python 2”的声明引发了广泛讨论:开发社区表示,对 Python 2 的官方支持将于 2020 年 1 月 1 日结束,甚至在那之后的安全问题,以及旧版本的语言不会得到任何改进。人们现在必须迁移到 3.0+。

目前,仍有一些开发人员作为志愿者维护 Python2 语言。但他们共同决定,2020 年 1 月 1 日将是 Python 2 “生命终结”的日子。在该日期之后,所有与 Python2 相关的维护都将结束。


为什么 Python2 更新到 Python3 这么慢

对编程不太了解的读者可能会有一个疑问:总是提到Python3比Python2好太多了,为什么有人不更新呢?

机器之心认为可能主要有以下几个原因:

1. 工程稳定性相比软件的更新速度更为重要。

编程语言是软件的基石。如果编程语言更新了,软件更新不是一件小事,所有代码都需要全面更新。在此过程中,如果出现新旧版本不兼容、代码稳定性变差等情况,可能会影响用户的持续使用。因此,对于一些版本的迭代,很多软件开发者选择不更新。与其匆忙更新到最新版本,不如保证用户使用的稳定性。

2. Python 官方「允许」Python2 持续存在。

Python 官方还在文档中提到,大版本更新可能会“伤害”开发者。具体来说,如果在 2006 年迅速要求开发人员放弃 Python 2,许多开发人员可能会因为开发成本而放弃 Python。一个繁荣的开发者社区是维持 Python 编程语言地位的重要条件,因此官方一直在更新和维护 Python2,以留住更多的开发者。

3. Python2 确实也好用。

虽然 Python2 相比 Python3 存在很多重大问题,但 Python2 仍然是 Python 的开发者友好版本,并且自 Python2 以来得到了许多开源库的支持。因此,一些开发者希望继续使用 Python2。

由于这些原因,Python3取代Python2的过程拖了十多年。但是,随着机器学习的发展,机器学习领域对编程语言的性能提出了很高的要求,而且大部分新工具都支持Python3。因此,使用性能更好、工具支持更多的 Python3 成为了开发者的必然选择。


放弃支持 Python2 的软件列表

2017 年,机器之心报告说它将放弃 Python2 开源工具。目前,该列表要长得多。

Python2结束:生命还剩113天,到期后停止维护

TensorFlow、Scikit-learn、Pandas、XGBoost 等工具已经准备放弃 Python2。

Python2结束:生命还剩113天,到期后停止维护

同时停止支持的还包括 Numpy、Matplotlib、Jupyter Notebook 等。

Python2结束:生命还剩113天,到期后停止维护

还有很多如 Cython、IPython 在内的工具。

Python2结束:生命还剩113天,到期后停止维护

Python2结束:生命还剩113天,到期后停止维护

以上是放弃Python2的开源工具列表(不完全统计)。从这个列表中可以看出,Python 生态系统是巨大的。

下表显示了多个项目决定停止支持 Python 2 的时间。从该表中,你可以看到每个项目的某个版本是否支持 Python 2、发布时间表以及扩展支持的时间。 (Python 自己的时间线:https://docs.python.org/devguide/#status-of-python-branches)

Python2结束:生命还剩113天,到期后停止维护


官方答疑

官方还提供了一些相关问答。机器的心脏组织如下:


为什么要终止 Python2?

答:终止 Python2 是因为我们要更好地帮助开发者。

Python2 于 2000 年发布。几年后,我们意识到我们需要对 Python 进行重大更新。所以在 2006 年,我们开始研究 Python3。因为当时很多人没有更新,而且我们不希望这次更新伤害到他们,所以多年来我们一直在维护和公开新的 Python2 和 Python3 版本。

但是这样做,维护 Python 的工作变得非常困难。 Python 2 中有一些难以遵循的改进和维护。这将影响我们提高 Python3 速度和性能的努力。

另外,如果很多人继续使用 Python 2,开源工作者用 Python 开发程序将会更加困难。他们不能使用 Python 3 中的新特性来改进开源工具。

我们不想伤害使用 Python2 的开发者,所以在 2008 年,我们宣布 Python2 将在 2015 年停产,并希望大家更新。当时有的人更新了,有的人还在 Python2 上,所以我们把结束时间推到了 2020 年。


目前 Python2 还有多久的寿命?

A:距离2019年9月10日还有3个月21天,pythonclock.org(https://pythonclock.org/)网站上有倒计时。

Python2结束:生命还剩113天,到期后停止维护

机器之心在发稿时对倒计时网站的截图。


如果没有升级,会怎么样?

答:志愿者不会帮助修复 Python2 上的灾难性安全问题,即使用户在结束日期之后发现它们,或者在为 Python2 开发的软件中发现它们。如果用户在 Python2 相关软件方面需要帮助,志愿者不会提供帮助,能够帮助这些用户的志愿者越来越少。同时,用户可能无法使用好的开源工具,因为它们都是基于 Python3 的。同时,使用 Python2 的用户可能会减慢使用 Python3 开发的其他人的工作。


如何将 Python2 代码转为 Python3?

答:请参阅官方提供的指南。

指南地址:https://docs.python.org/3/howto/pyporting.html


如果用户基于 Python2 开发了一些软件,应该怎么做?

A:如果你从供应商处购买了软件或软件支持,你可以向他们咨询详情;如果你从开发人员或系统管理员处购买软件,请咨询这些开发人员或管理员。如果两者都没有,请单击“我可以使用 Python3 吗?”页面以查找升级到 Python3 所需的工具。

caniusepython3 页面地址:https://pypi.org/project/caniusepython3/


是否有人员可以提供用户帮助?

到目前为止,用户还没有听说过 Python2 的升级。公布的升级通知在哪里?

答:我们在软件会议、Python 通知邮件列表、官方 Python 博客、相关参考书和技术文章、社交媒体以及销售 Python 支持的公司中讨论了升级到 Python 2。


用户怎样才能确保下次及时收到升级通知呢?

答:从供应商处购买 Python 支持,或订阅 Python 通知邮件列表。

订阅地址:https://mail.python.org/mailman3/lists/python-announce-list.python.org/

从问答的角度来看,Python2将被彻底抛弃。即使存在零日漏洞,也不会有安全更新。用户应尽快升级,以免出现安全问题并获得技术支持。

转移需尽早

目前,大部分维护良好的开源项目都迁移到了 Python 3。你能找到的 Python2 项目的源代码基本上都是早期不再维护的项目,或者是一些系统级的项目(因为 Linux 和MacOS 自带 Python2.7)。根据 JetBrains 最新的 Python 开发者调查,大约 80% 的开发者已经在使用 3.5+ 版本。请记住,就在两年前,使用 Python 3 的人的百分比仅为三分之一。

Python 已经提供了 2 到 3 个自动化工具,只需一行命令即可将 Python 2 代码转换为 3。在 HackerNews 上,有很多关于 Python 2 支持结束的讨论。

有网友表示:“Python 2 到 3(至少 3.3 及以上版本)是我做过的最简单的转换之一。我们可以借助库(六)完成转换,并且几乎所有情况下都可以编写“版本 2 到 3 兼容代码,这意味着一次可以小块传输。至于依赖关系,开发人员还帮助升级了很多第三方模块。”

总而言之,“如果人们把一半的精力都花在了抱怨如何升级上,那么迁移到 3.x 应该在五年前就完成了。”根据经验,除非你的项目具有非常稀有且不可替代的依赖项,或者具有巨大的 C 语言扩展,否则版本转换将很容易。

本文为原创文章,版权归所有,欢迎分享本文,转载请保留出处!

知行编程网
知行编程网 关注:1    粉丝:1
这个人很懒,什么都没写
扫一扫二维码分享