Python2与Python3版本选择指南:为何必须转向Python3及3.6/3.7升级建议

Leo
Leo
发布时间:2026-10-13 | 2人浏览过
原创

本文深入解析为何初学者应果断选择Python3,驳斥关于Python2主流地位、兼容性及库支持的常见误区。重点对比Python3.6与3.7,指出3.7中async和await变为保留关键字带来的兼容风险,并结合psycopg2等实际案例,建议大型项目谨慎升级,优先使用成熟的3.6版本,待生态完善后再迁移。

Python2与Python3的选择:为何必须转向Python3

首先明确Python2与Python3的选择方向。

许多刚接触Python的开发者常面临一个困惑:究竟应该学习Python2还是Python3?

对此,明确的建议是:毫不犹豫选择Python3!(推荐参考:Python视频教程)

然而,不少初学者仍存疑虑:为何仍有声音推荐学习Python2?

这主要源于以下几个常见原因:

1. 无论是Python还是Pip的下载量,Python2都高于Python3,这表明Python2仍是主流。

这种观点是错误的。Python2下载量更高存在多重原因,其中关键一点是大多数操作系统(如Linux发行版)默认预装的是Python2。出于惰性,许多人直接沿用旧版本。但Python2的使用率正在下降,而Python3持续上升,这是不可逆转的趋势。顺应未来才是正确选择。

2. Python2与Python3不兼容,学了Python3还得重新学Python2。

这也是误解。Python提供了多种辅助库,可轻松编写兼容Python2和Python3的代码,通常只需引入少量模块即可,几乎无需修改现有代码。即便必须使用Python2,凭借Python3的基础,也能快速上手,无需额外大量学习。

3. 许多库仍停留在Python2,Python3无法使用。

持有此观点者可能已很久未关注Python动态,对当前生态了解不足。

根据py3readiness的最新统计,Pip上下载量最高的前360个库中,已有345个支持Python3。

python3_readiness.png

仅剩约15个库(占比约4%)暂不支持Python3。执着等待100%支持再使用Python3是否必要?

你的工作场景有多特殊,非用Python2不可?即使遇到此类情况,利用virtualenv或conda等成熟工具,可轻松在本地构建独立的Python2环境,与Python3共存,无需担忧。

拥抱Python3吧!人生苦短,我用Python3。

Python3.6与Python3.7的版本对比与升级建议

接下来讨论Python3.6与Python3.7的选择。

Python3.7已发布,目前Python用户主要使用Python3.6和Python2.7,是否应转向Python3.7?

首先需知,Python3.7是Python3.6的升级版本。官方对3.7新特性的描述链接如下:

https://docs.python.org/3/whatsnew/3.7.html

需重点关注的是,相对于3.6,3.7在语法上几乎完全兼容,仅存在以下例外:

Backwards incompatible syntax changes: async and await are now reserved keywords.

这段说明指出了3.7与3.6唯一的语法不兼容点:async和await已变为Python语言的保留关键字。

这意味着什么?

即async和await这两个词,如同import、for、while一样,成为系统保留的特殊关键字。

也就是说,在Python3.7中,你不能使用这两个词来定义变量或函数名。

例如,若按以下方式定义变量和函数:


async = 1
def await():
  pass

使用Python3.6运行代码,一切正常;但在Python3.7中执行,则会报错。

SyntaxError: invalid syntax

如何选择? 若项目目前基于Python3.6且规模较大,个人建议无需急于升级至3.7。因为不确定项目代码及依赖的第三方库是否已完成3.7的兼容性测试,毕竟3.7发布不久。

例如,本文撰写时间为2018年7月13日,当时发现postgresql数据库的Python API驱动库psycopg2在Python3.7上安装存在问题。

在Python3.7中执行pip安装:

pip install psycopg2-binary

安装会失败,提示Error: pg_config executable not found。

而在Python3.6中pip安装则无此问题。

因此,最好等待Python3.7被广泛采用后再进行升级。

若当前必须转向Python3.7,除非项目特别需要Python3.7的新特性。若如此,务必对旧代码进行充分测试,以防上线运行时出现异常。

Python2.7项目迁移至Python3的策略

若项目使用Python2.7运行: 这主要涉及从Python2到Python3的迁移问题,两者语法差异较大。

若项目生命周期较长,建议在合适时机升级至Python3。因为Python2于2020年停止官方维护,后续可能出现安全漏洞等问题,带来麻烦。此外,若有好用的第三方库仅提供Python3版本,迁移更是必要。

若决定将项目从Python2升级至Python3,目前建议先升级至Python3.6,因为业界对3.6的支持较为普遍。待Python3.7支持更广泛后,再进行升级亦不迟。

本站小编补充:近期学习Python时,阅读大量Python3文章均推荐Python3.6,希望大家行动起来。

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表