首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

最终的Python 2版本标志着时代的终结

对于不愿(或无法)升级到版本3的Python用户,还有另一个动机:python.org发布了Python 2.7.18,这是Python 2的绝对最新正式版本。

尽管在功能方面并没有增加太多,但它确实是一个里程碑。此版本是在对版本2的正式支持(今年1月1日)终止之后发布的,并作为最终通知。即使出现重大安全问题,也不会发布进一步的版本。因此,如果您一直在等待迁移,那么现在是将计划付诸实践的好时机。

Python的当前版本为3.8.2,因为自2008年以来一直在积极开发版本3。但是,由于两个版本不兼容,因此采用率一直很慢。Vicki Boykis报告说,2019年9月从PyPI下载的所有软件包中有40%用于2.7版本。代码的移植并非易事,特别是在拥有大量代码库的组织中。Dropbox从头到尾用了三年时间。Instagram用了10个月。

最终的倒计时已经推迟了五年。当您考虑人们使用的库时,最大的问题(两个版本之间的不兼容性)被放大了。围绕Python语言建立了巨大的库和工具生态系统,因此任何项目都需要访问更新的库,然后他们才可以考虑升级其主要项目代码。

根据您的需求,这可能不会促使您升级。如果您在开放式服务器上运行Python,则可能会出现一些安全问题,因此您可能需要暂停一下。到目前为止,Python已修复了其库中发现的所有重大安全漏洞,其中包括影响其`ssl'实现的一个安全漏洞。从现在开始发现的新缺陷不会发生。

但是,运行本地脚本的用户可以使用自己喜欢的任何方式。PyPy是Python的替代实现,已同意永远支持版本2。用数学方法处理大量数据的用户可能会喜欢它的速度提高并坚持使用旧版本。公平地说,Python从来都不关乎速度。这是一种解释型语言,因此通常会比同等的C程序慢。

即使没有官方支持,Python 2也可能会通过社区的努力获得安全更新。诸如PyPy和Tauthon之类的替代实现可以遵循openJDK模型:它们已经更新了Java版本6、7和8的实现,这些版本都已达到使用寿命。如果在Python 2中发现了新的安全漏洞,则这些实现可能会对其进行修补。

即使在这些替代实现之外,由于一些操作系统将Python 2作为一个完整的库进行了交付,Python 2仍可能继续接收更新。红帽已承诺在2024年6月之前对其提供支持。Debian正在积极尝试删除它,但可能会在2024年之前保持支持。

但这并不意味着您应该等待。任何闪亮的新Python库都可能会用Python 3编写。因此,如果您想充分利用开发中的生态系统,则应立即进行升级。当杀手级安全漏洞进入互联网时,您不想被迫升级。

在学术界,Python 2可能会持续数十年,就像COBOL在政府和工业界的许多部门所做的那样。由于它强大的数据操作和可视化功能,它在该国变得非常流行。有趣的是,研究人员正在使用Python 2启动新项目。一旦项目结束,为研究项目生成的脚本通常会过时。为什么要为已经完成的项目更新某些内容?

但是,如果您是一位在3之上教授Python 2的教育家,那会对您的学生造成伤害。Python 3将适应不断变化的软件工程需求,对新概念和用例做出反应,而Python 2将大部分冻结为琥珀色。

因此,尽管Python 2可能会在将来的某个时间使用,但这标志着它的最后一章。很有可能在不久的将来,您需要继续使用Python3。这可能是一件好事,因为Python 3仍然是一种积极开发的语言。在Python 2的末尾举起一杯(或一个类),并考虑重构代码以利用即将出现的新功能。

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20200425A0FUFC00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券