在 Python 3.9 都已经进入 dev 版本的 2020 年,Python 2 终于要和我们告别了。

2 and 3

Python 2 第一个版本发布于 2000 年 10 月 16 日,到今年正好是第 20 个年头。而 Python 3 发布于 2008 年 12 月 3 日,但由于 3.0 版本在底层进行了大量重构(主要是 Unicode 与 C API 的改动),无法完整兼容 Python 2,因此官方并没有停止对 Python 2 的维护。

从此 2 与 3 依然都在发布新版本,官方想通过平滑的方式过渡到新版本。然而并不是所有的社区贡献者有这种精力去同时维护两个版本,许多开源库它们至今都停更在 2.X 版本。

两版本共存的日子,一晃就是 11 年。

2 to 3

好在 Python 3 更新了越来越多独有的特性与性能优化,加上社区的不断努力推动,在近几年爆发增长的初学者当中,大部分都被推荐使用了 3.X 版本作为入门版本,3 版本在近几年才占据了主导。

终于 Python 核心开发团队对外宣布,将在 2020 年逐步停止对 Python 2 的支持,但并没有给出具体时间。

2017 年 NumPy 正式宣布将在 2019 年 1 月 1 日停止支持 Python 2。之后 pandas 与 Jupyter notebook 等开发团队纷纷宣布即将停止支持 2.X 版本。

2018 年 Python 创始人 Guido van Rossum 在官方邮件组表示,他们将于 2020 年 1 月 1 日停止对 Python 2.7 的支持,这也是 2.X 最后一个版本。

他在邮件写道:

不要玩文字游戏了!Python 2.7 的 EOL(停用)日期是 2020 年 1 月 1 日,接下来,将不会有任何更新,也不会再有源码安全补丁。在此日期之后,Python 核心开发者、PSF 和 python.org 将不会提供任何支持。如果你还想获得支持,那得付相关商业费用。当然,它是开源的,所以我们也欢迎大家 fork。
我们最初决定 2015 年为 EOL 日期,然后推迟到 2020 年,给大家的时间已经很充足了,核心开发者也辛苦太久了。此外,坦诚地说,我并不觉得停用 Python 2.7 是件坏事。

After 3

不过停止更新并不会有多大的影响,因为根据 JetBrains 最新的 Python 开发者报告显示,近九成的开发者已经使用 Python 3 版本。

相信在 2020 年使用 Python 2 的开发者将低于 5%。

如果你有代码想迁移 Python 3,别忘了尝试使用官方提供的 2to3 迁移工具。

另外 3.9 版本已经有 dev 版本了,留给 Python 3 的版本号也到头了(除非使用两位数),后续 Python 怎么走,咱们拭目以待。

最后祝各位读者新年快乐!


本文属于原创,首发于微信公众号「面向人生编程」,如需转载请后台留言。

关注后回复以下信息获取更多资源
回复【资料】获取 Python / Java 等学习资源
回复【插件】获取爬虫常用的 Chrome 插件
回复【知乎】获取最新知乎模拟登录

Python 2 与 3 共存了 11 年,新年就要和它道别的更多相关文章

  1. Python linux多版本共存以及虚拟环境管理(转摘)

    Python linux多版本共存以及虚拟环境管理 2017年08月01日 18:42:25 sliderSun 阅读数:197更多 个人分类: python   版权声明:本文为博主原创文章,未经博 ...

  2. Python的平凡之路(11)

    一. rabbitmq 1 进程Queue:  父进程与子进程进行交互,或者同属于同一父进程下多个子进程进行交互 2 队列通信:   send1.py #!/usr/bin/env python#Au ...

  3. Windows 下让 Python 多个版本共存(支持 pip)

    转载自 http://blog.kgzx.net/index.php/archives/40/ 因为类库兼容性的关系,写实际项目时都是用 Python 2,但自己试验性的写点小东西还是喜欢用 Pyth ...

  4. Python练习-循环及切片-2018.11.27

    #直接用while循环去除.ad l=['xuyutao.ad','wangjun.ad','liuchao.ad','liuyan1.ad'] n=0 L=[] while n < 4: A= ...

  5. Python/Anaconda多版本共存的解决方案

    博客中的文章均为 meelo 原创,请务必以链接形式注明 本文地址 虽然Python2大势已去,众多项目都已经支持Python3,但总有一些教程和项目只支持Python2.通常情况是计算机里既装着Py ...

  6. 安装python File "/usr/bin/pip", line 11, in <module> sys.exit(main()) File "/usr/lib/python3.4/site-packages/pip/__init__.py", line 215, in main locale.setlocale(locale.LC_ALL, '') File "/u

      $ uname -a Linux debian 3.16.0-4-amd64 #1 SMP Debian 3.16.7-ckt11-1+deb8u6 (2015-11-09) x86_64 GNU ...

  7. python基础-python解释器多版本共存-变量-常量

    一.编程语言的发展史 机器语言-->汇编语言-->高级语言,学习难度及执行效率由高到低,开发效率由低到高 机器语言:二进制编程,0101 汇编语言:用英文字符来代替0101编程 高级语言: ...

  8. python之最强王者(11)——异常(exception)

    1.Python 异常处理 python提供了两个非常重要的功能来处理python程序在运行中出现的异常和错误.你可以使用该功能来调试python程序. 异常处理: 本站Python教程会具体介绍. ...

  9. python参考手册--第10、11章执行环境、调试

    1.解释器选项和环境 python [options] [-c cmd | filename | - ] [args] 例如:python -m pdb test.py 以脚本的形式运行库模块pdb ...

随机推荐

  1. 样式计算的几种方式与兼容写法:getComputedStyle&currentStyle&style

    window.getComputedStyle(element,[string]) 1参为需要获取样式的元素,2参指定伪元素字符串(如“::after”,不需要则为null),设置2参可获取eleme ...

  2. 【原】Django问题总结

    一:python manage.py makemigrations No changes detected 在修改了models.py后,有些用户会喜欢用python manage.py makemi ...

  3. 2018 最新注册码【激活码】、在线激活 pycharm 完整方法(亲测有效)【2018.06.01 重大更新!!!!】

    2018-06-01修改如下: 原来方法的第二种还是有效的,操作如下 (1)更新hosts文件(可以直接下载,然后解压缩) host文件地址 hosts文件,在windows中的地址为: 替换host ...

  4. 使用 OClint 进行静态代码分析

    OCLint 就是一个建立在 Clang 上的工具,能够发现代码中潜在的问题. 最近需要一个静态分析代码工具,帮助我们发布运行应用前找到代码潜在的问题. 其实对于iOS开发,我们的日常开发上已经用到了 ...

  5. 前端学习 之 HTML

    一.HTML 介绍 超文本标记语言(英语:HyperText Markup Language,简称:HTML)是一种用于创建网页的标准标记语言,它不是一种编程语言. HTML使用标签来描述网页.不像p ...

  6. SpringBoot笔记二:整合篇

    Spring Boot与缓存 jsr-107 Java Caching定义了5个核心接口分别是CachingProvider, CacheManager, Cache, Entry 和 Expiry. ...

  7. nginx日志模块与HTTP过滤模块与sub模块修改返回内容

    日志格式使用指令 指令介绍 Syntax: log_format name [escape=default|json|none] string ...; Default: log_format com ...

  8. Servlet 学习(四)

    HTTP 响应的构成1.HTTP 响应行: 协议.状态.描述 HTTP 1.1 中定义的状态代码 100-199 是信息性代码,标示客户应该采取的其它动作 200-299 表示请求成功 300-399 ...

  9. 吴裕雄--天生自然TensorFlow2教程:误差计算

    import tensorflow as tf y = tf.constant([1, 2, 3, 0, 2]) y = tf.one_hot(y, depth=4) # max_label=3种 y ...

  10. 51nod 1449:砝码称重

    1449 砝码称重 题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 40 难度:4级算法题  收藏  取消关注 现在有好多种砝码,他们的重量是 w0,w1 ...