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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

查看: 4641|回复: 0

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

[复制链接]

19

主题

0

回帖

10

积分

新手上路

积分
10
发表于 2019-9-10 15:44:09 | 显示全部楼层 |阅读模式 来自 中国
乾明 栗子 发自 凹非寺 ( ^. \1 N1 `3 W! b% ^
量子位 报道 | 公众号 QbitAI
/ x  Z" E- e$ @" Q$ S( s

# q) E# |( J& @" p7 ]
Python 2终于走到了尽头。

& F! N; X3 U$ k2 \( Q! n' n
官方宣布,新一年的钟声响起之时(2020年1月1日),就是Python 2落幕之日。
* E% k& W: O4 N- e3 w9 h
之后,Python 2自生自灭,就算天塌下来,官方也不会再改进了。
: f- e% t8 _  u9 _% [
他们解释称,并不想伤害Python 2用户,这个决定是为了Python用户好。
: q7 U; o0 \9 D- x/ N. V
只有放弃Python 2,他们才能让Python 3变得更好。
& f0 t  s! `0 Z0 h$ c& y
这一举动得到了不少支持与理解:

* e2 Z8 K* b6 W, m& G
; u5 Z$ I3 [1 H/ Z5 [1 k
也有人念旧。

; ~. i8 {: ~/ @) S, i/ H: z+ |
有网友开始放话,表示自己会支持Python2的维护与更新,不为什么,就是想用Python 2。
& q9 a! G/ h3 o: u6 {
但随着官方不再支持Python 2,近年来也有大量的工具宣布放弃支持Python 2。比如TensorFlow、Pandas、Numpy、Jupyter Notebook、Cython等工具。

. f- q* s! l! O2 p
% a3 J. E1 \4 ?1 N* z
如果想用好Python,摆在Python 2用户面前的路似乎就只有一条:5 v/ j8 w2 g+ Q3 Y% V5 a
# A6 h1 H( A+ R& v) Z. f
升级到Python 3。

8 t. r5 u0 g! O; C  f升级攻略( g+ K! W0 E# R, t7 o3 }8 X3 L0 k

9 S: P( L1 ~: n7 z
升级的路上,会遇到很多问题,Python官方先帮你解答了一波:

* U9 p2 d/ H' o! j) p4 r. N9 L
1、没在2020年1月1日之前更新会怎样呢?
) n+ C* Q: P. y
如果有人发现Python 2里面有灾难性的安全漏洞,也不会有太多人志愿帮忙修补的。

) ^: f# x9 ~3 f
需要Python 2的相关帮助,也不会有很多人去帮你了。随着时间的推移,能帮到你的人还会越来越少。

, Y% O; z. V' _( h: t' }
很多好工具都用不了,因为只有Python 3才支持。这样的话,还可能拖累那些跟你一起工作的小伙伴。
, P# H, o7 H: R4 y* z# @
以上问题,有些会从1月1日开始产生,另一些会随着时间越来越严重。

7 ?) G1 k& b* Z$ i
2、我在Python 2里写的代码,怎么迁移到Python 3?
( ]9 I( o2 ~' C5 `7 {1 v
有中文文档提供,详细介绍了步骤,可以自动迁移。除此之外,由2到3,一些函数发生了变化,文档里有列表,各位可以自行查找,手动修改:
% y! ]7 J& m4 N# y$ |$ A7 \6 Z5 T  f
6 `2 F( K: X, [  ?% N6 k  N
中文文档:2to3 - 自动将 Python 2 代码转为 Python 3 代码- z" _! N2 [. P# S
https://docs.python.org/zh-cn/3.7/library/2to3.html

6 N4 x8 I7 B4 D+ e
另外,还有两个英文文档可以参考:
3 q( \9 f, x1 V4 a8 d' o( o
Porting Python 2 Code to Python 3
0 W" i7 l3 b0 t8 o* ~- t3 whttps://docs.python.org/3/howto/pyporting.html

) s: ~' q  }; N  f2 b# C
Python 3 Statement Practicalities$ z5 a( F( n. z- i: w
https://python3statement.org/practicalities/

) x' H7 u8 _0 i8 o
3、我不确定我用的软件会不会依赖于Python 2,怎么办?
# _2 E% p! E! J" g
如果你是从供应商那里买的软件,问他们就好了。如果你是向开发者或者系统管理员付费的话,就问这些人。

' I0 r; H( o5 Y' S, f9 n
要是找不到相关的供应商和技术人员,就用“Can I Use Python 3?”去查找,你到底需不需要某个用Python 2写的软件。

+ k' Q/ P6 n  j# F6 L$ q& ~
Can I Use Python 3:0 j( M4 _7 l3 e6 o$ s# B4 _7 J
https://pypi.org/project/caniusepython3/
! S4 q1 V) ^5 O7 X& ^
想知道某些特定的工具,和Python 3兼不兼容,可以看Python 2.7 Readiness、Python 3 Statement,以及Python 3 Readiness。

( t7 F. j5 S( _1 V, D
4、我还是依赖一些用Python 2写的软件,怎么办?
# ]" D7 M6 q% a- z- ?
同理,也是询问供应商和技术支持人员,如果你是向开发者或者系统管理员付费,就去问他们。

2 s6 w; n$ i- Q9 I
问不到的话,用“Can I Use Python 3?”来查找升级到Python 3的工具。
- p5 s9 [% A( p) I
Can I Use Python 3:
6 `3 ^  S. M9 _* L; a- e! P4 ihttps://pypi.org/project/caniusepython3/
! l4 f  C: }1 M! ^
5、有人能帮我一下么?
& {  l1 m' s+ A0 m; }( i1 v% G
有。如果你能支付扩展支持 (Extended Support) 的费用,就跟这些供应商联系吧:
# I! @7 X( o; t1 W# D; U& i
https://wiki.python.org/moin/PythonConsulting/Python%202%20support%20and%20migration
: ^8 y1 T4 g+ M4 i8 Y! ]5 B
你心里的问题,可能不止这些,但现在的你可能更需要一些鼓励,以便顺利完成迁移,所以来看Hacker News顶楼 (@ken) 的留言吧:

6 O: j9 L- j8 ~9 l
Python 2到3,是我做过的最简单的迁移之一了。7 D0 [! m  ]8 \) g: \2 `+ \
有一个叫“six”的库可用,而且几乎在任何情况下,都能写出2和3兼容的代码。
, n* j+ H) l/ b# M3 O
six库传送门:
. U" D# ?) b! O+ ahttps://pypi.org/project/six/

+ q! l+ A# g! E* IPython 2往事+ W: z( _( [" h: |* E3 S
% Y9 l( S  O9 ^- a
Python源自20世纪80年代末,当时Python的创建者Guido van Rossum正在CWI(荷兰数学与计算机研究所)研究Amoeba分布式计算系统,使用C和Unix shell。

: K6 X* W9 m$ b( L3 S6 F8 q
在这个过程中,他逐渐对这些语言感到不爽,不仅运行速度太慢,无法处理复杂逻辑,也不得不重复造轮子。

2 \, p# o3 A. ^9 u, E5 g$ \: _3 V
& u9 \* N8 p2 a1 q" X" B+ B
于是Guido就有了在业余时间创建Python的念头。1991年,Python第一版问世,可以说是兼具各家之长。

* Z6 `* ]; s5 `) C
之后一路势如破竹,2003年以来,Python一直在TIOBE排行榜中最受欢迎的编程语言的前十位。

& g! L- p$ I& s% S! v+ V' h
Python在2007年获得了TIOBE年度最佳编程语言奖。该奖项是根据TIOBE指数,授予全年受欢迎程度最高的编程语言。
0 ]3 a+ q# y1 a
Python 2当时也受到大公司青睐:包括Google、Facebook、亚马逊在内的诸多知名公司都在使用它,包括YouTube、Reddit在内的大型应用,都是出自Python。
3 X# C: h2 P- z# P; w  b
科研机构NASA还用Python来简化航天飞机的任务流程设计,去探索太空。
. T7 A0 e; H) _- a8 l0 S
“人生苦短,我用Python”成为被大多数程序员熟知的“梗”,Python也成为了一门吞噬世界的语言。
  \" h5 _, U9 b7 {% z
这中间,虽然有Python2的功劳,也有Python基于时过境迁进行的“蜕变”。

" A4 w$ Z1 k. `+ o/ jPython 3未来
, D& g- D/ h( b0 s* D! _5 g6 E$ J3 h) g7 q/ z
随着算力的不断增强,计算平台发生变迁,Python这条“巨蟒”在新的运行环境中,逐渐变得力有不逮。
( Z7 C/ _3 b; F9 |9 u: T; c
2008年,为了修复缺陷,更好地适应新环境,让Python更有生命力,Python社区做了一个非常有决断的动作:
7 E+ H" V% i$ V- s* @
推出Python 3,不向后兼容。
& ^4 v; K) P4 T' u0 a3 d3 \: Y/ o: O
当时给Python 2.7定下的Deadline是2015年。因为担心大量现有代码无法迁移到Python 3,这一时间又推迟到了2020年。
$ b/ p% ]: z: w9 U. Q- W
这背后长痛不如短痛的想法,轻装前行的理念等等, 大部分开发者都理解。
: z+ ^& W9 i6 s4 I0 U# ]
而且,这也为Python赢得了不少使用场景,最典型的就是成为了机器学习这一热门领域的宠儿。
# n- w8 N/ ]+ Z6 E
谷歌的TensorFlow使用的就是Python。Facebook更直接,从PyTorch的名字来看就知道它和Python密不可分的联系。

+ q  J& g% \0 ^
# \% T  u5 F! s7 y7 V0 b
但版本割裂带来的阵痛,还是成为了Python被诟病的一大重点。

2 z9 z+ z; e  c
虽然Python也发布了程序,帮助开发者更好地将Python 2代码转换为Python 3。

. ?& S' N7 S6 K0 t
但这也让不少人纠结与徘徊,更有对手看到了机会,而且来势汹汹。
$ z" n- d1 w# l2 ~* e, N: c3 |. r
比如谷歌2009年正式推出的Go,更是“明目张胆”地抢人——开发一款从Python 2.7到Go语言的编译器。
- ~) @2 Z( k. b2 \4 G- g. n
还有Julia。这一源自MIT的新编程语言,创建于Python 3发布第二年,2012年公开发布。
7 c% |& c# @! c2 t4 Q1 k  j6 z  a
主要的应用领域为数据分析、机器学习、物理学、数学、人工智能、信号与图像处理等等。

' w1 r& ~: U  \9 e3 l

3 l# ~9 B) [1 T1 f' \+ ?6 Y
而这些,都是当下Python发挥作用、面向未来的核心阵地。
- K7 w& q' }$ }9 x- m5 x* Y
不过,Python也没有停下来发展的脚步,也在不断推陈出新,面向未来编程。
. Q+ n/ V5 S- ~+ v4 I+ D( B; W
比如PyPy的不断优化,SciPy和NumPy的不断完善等等,都在放大Python的能量。

) F3 I7 o! ^8 N/ @
现在,Python辞旧的倒计时已经挂起。
( {, z, ?/ c* A/ _! r/ V
这个起于20世纪80年代一个业余项目的语言,到现在仍旧具备超强生命力,兼容并包,成为开发者手中的利器,不断吞噬世界。
! [# t; L  H: v7 }

" i" g7 }" a% y
0 v4 |# d6 i. M/ P0 u3 q$ y: RAI社群 | 与优秀的人交流
: S9 \2 S0 }1 L4 |5 c) W5 z/ ]% ?AI内参 | 关注行业发展
) }# H% K& T  t) j" ^5 P2 E量子位 QbitAI · 头条号签约作者
# k* h8 C0 f" C" G% F, D1 Lվ'ᴗ' ի 追踪AI技术和产品新动态
# z# E. d2 ]9 Q8 A9 W喜欢就点「在看」吧 ! 5 \. c! t( H. c
7 N+ Z# O- |) I; L9 }
' \; o4 v" N+ d. Q: b' j7 r
4 _- D7 a' [( G  e
来源:http://mp.weixin.qq.com/s?src=11&timestamp=1568100603&ver=1843&signature=tQllAUYWjtvJD-Ng*ilEK7yHj8zS8RvhBqpoOtLc5RueKSPdeGO75IyY7EaeUXLTWSewjxAvFaNAfcHQhl3vjNwJ--o3lctt0SMmmHYx-73zV4uaRU*p1GmXrbOQwVi3&new=1
/ W% w0 {0 O% }* E) o5 ?" Z免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

本帖子中包含更多资源

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

×

帖子地址: 

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

使用道具 举报

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

本版积分规则

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

GMT+8, 2026-6-15 10:16 , Processed in 0.056711 second(s), 28 queries .

Powered by Mxzdjyxk! X3.5

© 2001-2026 Discuz! Team.

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