京东6.18大促主会场领京享红包更优惠

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4737|回复: 0

Python 2大限来了!113天后自生自灭,官方不再维护更新|附升级指南

[复制链接]

19

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2019-9-10 15:44:09 | 显示全部楼层 |阅读模式 来自 中国
乾明 栗子 发自 凹非寺 
2 x  v4 l$ i7 k6 p& u+ w量子位 报道 | 公众号 QbitAI
$ D: z- D9 g7 Q- d( u4 y. Q: t  q

% k, ?5 O0 i  g8 x, B* E
Python 2终于走到了尽头。

2 C& J4 r/ ~% @% m
官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。
$ _& }3 c1 _4 ]* F- s
之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。

% b" F( Y' O# T/ J8 l6 h1 T7 n8 l$ F
他们解释称,并不想伤害Python 2用户,这个决定是为了Python用户好。
. B* a6 d) S- u9 P- |) f$ l$ h0 @7 B
只有放弃Python 2,他们才能让Python 3变得更好。
# X/ P7 m4 l* S0 V# Y
这一举动得到了不少支持与理解:
, j2 J! k2 r/ }3 x: ~6 S

. U, k) M5 y, {- {2 n4 f9 D
也有人念旧。
8 x# [0 x( r! }) x
有网友开始放话,表示自己会支持Python2的维护与更新,不为什么,就是想用Python 2。

% E$ z% d( {, [  m$ C
但随着官方不再支持Python 2,近年来也有大量的工具宣布放弃支持Python 2。比如TensorFlow、Pandas、Numpy、Jupyter Notebook、Cython等工具。
! x( f  w; ?" n8 j9 L1 ^
# `* ?/ G1 q8 g: z' [, B; k
如果想用好Python,摆在Python 2用户面前的路似乎就只有一条:/ B" R- n8 a4 [1 _5 i2 e9 L8 @* h
* }0 a+ m7 z, H0 X: J8 \; b
升级到Python 3。

1 m/ T& `4 Q* G' y" ?/ l' l升级攻略) Q  X) \6 A/ Y9 q. S3 @

( M1 |& k0 x% [- g7 i+ [8 g! {
升级的路上,会遇到很多问题,Python官方先帮你解答了一波:

" b8 A: l6 a( |% f5 P9 ]
1、没在2020年1月1日之前更新会怎样呢?

! Y' G; Y; r4 e
如果有人发现Python 2里面有灾难性的安全漏洞,也不会有太多人志愿帮忙修补的。

" O7 m. b8 o& X/ F1 \6 r
需要Python 2的相关帮助,也不会有很多人去帮你了。随着时间的推移,能帮到你的人还会越来越少。

) V5 U2 I# F- ^; \8 C1 |' l5 w/ N
很多好工具都用不了,因为只有Python 3才支持。这样的话,还可能拖累那些跟你一起工作的小伙伴。

% C- @% m% J! {6 m
以上问题,有些会从1月1日开始产生,另一些会随着时间越来越严重。
4 w5 J6 Y" i1 F/ Q& c# A. c
2、我在Python 2里写的代码,怎么迁移到Python 3?
) C4 V4 z& g+ b
有中文文档提供,详细介绍了步骤,可以自动迁移。除此之外,由2到3,一些函数发生了变化,文档里有列表,各位可以自行查找,手动修改:

' l. O9 J0 e5 w& D+ |, S+ H

3 `! X! P* k) `# d. H( g0 D
中文文档:2to3 - 自动将 Python 2 代码转为 Python 3 代码/ y8 s& S& ]/ c- y4 s& M7 d
https://docs.python.org/zh-cn/3.7/library/2to3.html
5 e) T1 Z) K6 K! p! c. s
另外,还有两个英文文档可以参考:
! Z$ b* q( v) E& R4 O6 ~
Porting Python 2 Code to Python 3" Z1 A) v* Z- f% z& _. e
https://docs.python.org/3/howto/pyporting.html
7 R& a8 Y- K0 Y6 }1 `( ~4 r) Y
Python 3 Statement Practicalities; Z- A/ N8 H4 {. X! [2 T4 Z
https://python3statement.org/practicalities/

) W! W5 ~% Q( Q  x' p
3、我不确定我用的软件会不会依赖于Python 2,怎么办?

' n+ f$ J# f  v7 A
如果你是从供应商那里买的软件,问他们就好了。如果你是向开发者或者系统管理员付费的话,就问这些人。

7 ^2 [' N1 F$ r* ]5 _. ]& l
要是找不到相关的供应商和技术人员,就用“Can I Use Python 3?”去查找,你到底需不需要某个用Python 2写的软件。
) [/ F9 Y6 T  Y. \7 R- Q0 b: W
Can I Use Python 3:, k/ f0 Q; q0 v( T
https://pypi.org/project/caniusepython3/

& ^" `0 A& ?3 l% p
想知道某些特定的工具,和Python 3兼不兼容,可以看Python 2.7 Readiness、Python 3 Statement,以及Python 3 Readiness。

3 Y  ?: n/ v& S) E9 z
4、我还是依赖一些用Python 2写的软件,怎么办?
9 l1 n$ P& e- g" D  j
同理,也是询问供应商和技术支持人员,如果你是向开发者或者系统管理员付费,就去问他们。

7 g+ o/ |( i- C; v- @& s. n
问不到的话,用“Can I Use Python 3?”来查找升级到Python 3的工具。
+ w1 m. ?+ G+ Q4 `: u; q) R
Can I Use Python 3:6 C: Y7 T5 o% W& m2 F7 J- r$ z
https://pypi.org/project/caniusepython3/
( a) N6 p% ]: O9 f: J
5、有人能帮我一下么?

$ |. t! q7 `5 w1 D
有。如果你能支付扩展支持 (Extended Support) 的费用,就跟这些供应商联系吧:
1 n! N  H1 X6 i$ G, l
https://wiki.python.org/moin/PythonConsulting/Python%202%20support%20and%20migration

4 {2 I3 u: O, x) V. M9 G
你心里的问题,可能不止这些,但现在的你可能更需要一些鼓励,以便顺利完成迁移,所以来看Hacker News顶楼 (@ken) 的留言吧:
; k) K/ H4 F! D
Python 2到3,是我做过的最简单的迁移之一了。
) x) o* |( U6 T2 K" Z- |: S有一个叫“six”的库可用,而且几乎在任何情况下,都能写出2和3兼容的代码。$ [$ ]% y8 S$ l  {; f6 ], A( P- i
six库传送门:! ^& L0 u  E/ l% M: a  G$ Q9 {
https://pypi.org/project/six/

8 T1 F" d* Q) c1 r/ h  W/ h6 w( T; f4 jPython 2往事
5 G7 |! Z% l9 K9 i% z# D8 I9 C8 c( r* E3 w$ K% u9 F( `- D0 V
Python源自20世纪80年代末,当时Python的创建者Guido van Rossum正在CWI(荷兰数学与计算机研究所)研究Amoeba分布式计算系统,使用C和Unix shell。

2 d4 ^# |+ V6 M8 \8 |) B
在这个过程中,他逐渐对这些语言感到不爽,不仅运行速度太慢,无法处理复杂逻辑,也不得不重复造轮子。
* K5 B1 O. t! d" W/ r0 h: B
) Y" c8 k, S/ n0 `4 N, f
于是Guido就有了在业余时间创建Python的念头。1991年,Python第一版问世,可以说是兼具各家之长。

+ F! T: n+ `$ l5 \9 i0 ?
之后一路势如破竹,2003年以来,Python一直在TIOBE排行榜中最受欢迎的编程语言的前十位。

" {* K- [0 t& f, w* S. [
Python在2007年获得了TIOBE年度最佳编程语言奖。该奖项是根据TIOBE指数,授予全年受欢迎程度最高的编程语言。
/ a3 Y. ?  @2 k. D$ o. a
Python 2当时也受到大公司青睐:包括Google、Facebook、亚马逊在内的诸多知名公司都在使用它,包括YouTube、Reddit在内的大型应用,都是出自Python。

1 J1 a$ s( v+ t5 J; ]. S0 o
科研机构NASA还用Python来简化航天飞机的任务流程设计,去探索太空。

: A+ M+ X" P8 v0 V& `: m% `* Y. \; E
“人生苦短,我用Python”成为被大多数程序员熟知的“梗”,Python也成为了一门吞噬世界的语言。

- A9 O+ u) f' Q" d- W. z/ i' Z9 i- E
这中间,虽然有Python2的功劳,也有Python基于时过境迁进行的“蜕变”。
6 o  ~$ D( U. ]  N& n& F# s( l/ c
Python 3未来' d  Q1 n$ C8 ?( |
4 X# E! p& v% w4 b: J: c
随着算力的不断增强,计算平台发生变迁,Python这条“巨蟒”在新的运行环境中,逐渐变得力有不逮。
* d" W7 @. |& y% ^( e
2008年,为了修复缺陷,更好地适应新环境,让Python更有生命力,Python社区做了一个非常有决断的动作:
9 ^  o( r! m4 d! J3 o8 t* |9 U+ N
推出Python 3,不向后兼容。* }1 }, z% ]) @' [- x: O
当时给Python 2.7定下的Deadline是2015年。因为担心大量现有代码无法迁移到Python 3,这一时间又推迟到了2020年。
7 C/ @1 k7 i, X" e
这背后长痛不如短痛的想法,轻装前行的理念等等, 大部分开发者都理解。
6 M: `' b; i' b3 J' Z0 h5 p$ m% n
而且,这也为Python赢得了不少使用场景,最典型的就是成为了机器学习这一热门领域的宠儿。

2 u7 ]8 r  V6 Z: h% k/ j8 K! a
谷歌的TensorFlow使用的就是Python。Facebook更直接,从PyTorch的名字来看就知道它和Python密不可分的联系。
/ _# Z9 k4 }7 W' M" w4 K
: w, w' ^( t( M2 ?8 V
但版本割裂带来的阵痛,还是成为了Python被诟病的一大重点。

' T7 _3 S  s* F* Q$ Q1 C
虽然Python也发布了程序,帮助开发者更好地将Python 2代码转换为Python 3。

- K1 L$ u" e. x  N2 Q, S
但这也让不少人纠结与徘徊,更有对手看到了机会,而且来势汹汹。
& m& d2 r: u0 o8 m
比如谷歌2009年正式推出的Go,更是“明目张胆”地抢人——开发一款从Python 2.7到Go语言的编译器。

! G' U4 |# i' {  P4 L1 ~: h! Q7 Y! L
还有Julia。这一源自MIT的新编程语言,创建于Python 3发布第二年,2012年公开发布。
- k" _, }, J3 i9 P: E+ M
主要的应用领域为数据分析、机器学习、物理学、数学、人工智能、信号与图像处理等等。
9 m  H6 a( k7 r0 m/ K7 I  |  w
9 J- r- a3 [+ u( p
而这些,都是当下Python发挥作用、面向未来的核心阵地。
! P; `3 O' s. o' T7 i
不过,Python也没有停下来发展的脚步,也在不断推陈出新,面向未来编程。

! r  H1 Z4 n+ I' M
比如PyPy的不断优化,SciPy和NumPy的不断完善等等,都在放大Python的能量。

& Z$ W* P: f- n( x# y3 B$ t
现在,Python辞旧的倒计时已经挂起。
" J9 {8 a- I5 ^' R& p
这个起于20世纪80年代一个业余项目的语言,到现在仍旧具备超强生命力,兼容并包,成为开发者手中的利器,不断吞噬世界。

4 X( Y- D$ j9 E# Q! d
9 O0 u" C" k% _6 S: p6 Q
- Y/ {2 o, o9 X* A$ t; n, ~
AI社群 | 与优秀的人交流
1 \8 h9 E+ r" [1 K0 g4 ~* V/ m. ]AI内参 | 关注行业发展/ T  N: ~' v8 ?; X( q1 i
量子位 QbitAI · 头条号签约作者$ `4 F' ?/ {: A& f' R! G. X
վ'ᴗ' ի 追踪AI技术和产品新动态0 F4 T+ S) p5 @  _, p, Q
喜欢就点「在看」吧 !   u/ S8 c  k2 v6 v) D/ Q! N
' h0 t) Z$ }) z4 a
, a. c! O6 g2 j
1 e# d: Q6 r* _. c' l$ c
来源:http://mp.weixin.qq.com/s?src=11&timestamp=1568100603&ver=1843&signature=tQllAUYWjtvJD-Ng*ilEK7yHj8zS8RvhBqpoOtLc5RueKSPdeGO75IyY7EaeUXLTWSewjxAvFaNAfcHQhl3vjNwJ--o3lctt0SMmmHYx-73zV4uaRU*p1GmXrbOQwVi3&new=1
; b+ [/ H+ c# s7 U0 e免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×

帖子地址: 

梦想之都-俊月星空 优酷自频道欢迎您 http://i.youku.com/zhaojun917
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|手机版|小黑屋|梦想之都-俊月星空 ( 粤ICP备18056059号 )|网站地图

GMT+8, 2026-9-15 02:20 , Processed in 0.054563 second(s), 29 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表