机器之心报道
机器之心编辑部
作为目前最为流行的编程语言,Python的出现让计算机编程不再是生僻的专业技能,而是常人都能学习和使用的万金油,它也是人工智能领域里最为常用的语言之一。不过在三个月内,Python或许要经历史上最大的一次变化。
昨天,Python官方网站的一纸声明《Python2的落幕》引发了人们的广泛讨论:该开发社区表示,官方对于Python2的支持将会在年1月1日结束,在这之后即使是出现安全问题,旧版本的语言也不会得到任何改进。人们现在必须立即转移到3.0以上版本了。
目前,仍有一些开发者以志愿者的身份维护Python2语言。不过他们已共同决定,年1月1日将是Python2「生命终结」的那一天。该日之后,所有Python2相关的维护都将终止。
为什么Python2更新到Python3这么慢
不太了解编程的读者可能会有个疑问:总是提Python3比Python2好太多,为什么还是有人不更新呢?
机器之心认为可能主要有以下几个原因:
1.工程稳定性相比软件的更新速度更为重要。
编程语言是构成软件的基石,编程语言如果发生了更新换代,软件的更新不是一件小事,需要全面地对所有代码进行更新。在这一过程中,如果出现新旧版本不兼容、代码稳定性变差等情况,可能会影响到用户的持续使用。因此,对于一些版本迭代,很多软件开发者选择不更新。宁可保证用户使用的稳定性,也不能急于更新到最新版本。
2.Python官方「允许」Python2持续存在。
Python官方在文档中也提到,大版本的更新有可能会「伤害」开发者。具体而言,如果在年就迅速要求开发者放弃Python2,则很多开发者可能因为开发成本问题,直接放弃Python。繁荣的开发者社区是维持Python编程语言地位的重要条件,因此官方一直在更新维护Python2,让更多的开发者留存在社区中。
3.Python2确实也好用。
虽然相比Python3,Python2存在很多大的问题,但是Python2依然也是一个开发者友好的Python版本,在Python2时期就有很多开源库支持了。因此,一些开发者希望继续使用Python2。
这些原因下来,Python3取代Python2的进程就拖了十来年。不过,随着机器学习的发展,机器学习领域对编程语言的性能有很高的要求,且大部分新的工具都支持Python3。因此,使用性能更好,有更多工具支持的Python3成为了开发者的必然选择。
放弃支持Python2的软件列表
年,机器之心曾报道过将会放弃Python2的开源工具。目前,这一列表又长了很多。
TensorFlow、Scikit-learn、Pandas、XGBoost等工具已经准备放弃Python2。
同时停止支持的还包括Numpy、Matplotlib、JupyterNotebook等。
还有很多如Cython、IPython在内的工具。
以上为已经放弃Python2的开源工具列表(不完全统计)。从这个列表可以看到,Python的生态系统是多么庞大。
下表显示了多个项目确定停止支持Python2的时间。从该表中可以得知每个项目的某个版本是否支持Python2、发布时间线以及扩展支持的时间。(Python自己的时间线: