Python 3.8 已发布,现在是切换至新版本的好时机吗?

2019年11月1日00:05:17 评论 32

Python 3.8 已于前两周正式发布,不过目前大多数开发者主要使用的仍是Python 3.7.x或更旧的版本。事实上,立刻切换到使用Python 3.8可能会引发一些问题。

想知道何时切换至Python 3.8?下文将简要概述切换主要的Python版本以及进行切换时可能会遇到的问题(来自一名开发者的心得经验)。

1.缺少软件包

opencv-python是一个十分受欢迎的软件包,其下载量约为5000万。但正如本文提到的一样,如果你现在(2019年10月28日)尝试在Python 3.8上安装它会发现并不起作用:

$ docker run python:3.8-slim pip install opencv-pythonERROR: Could not find a version that satisfies the requirement opencv-python (from versions: none)ERROR: No matching distribution found for opencv-python

原因为何?如果我们现在在PyPI上访问 opencv-python 的文件页面,将会看到没有可用的面向Python 3.8的软件包。晚些时候这个问题可能会被修复。但是现在的情况是,在新的主要版本发布之后的不久时间内,我们将无法下载许多库。

有时候,这些问题只需重新构建库即可解决,有时候则需要进行一些代码调整。但不管是什么问题,Python的主要版本和软件包的可用性之间都存在一些滞后。

2.Python中的错误

Python 3.7.0于2018年6月27日发布,3.7.1于4个月后2018年10月20日发布,其中包括许多错误修正。所以按照惯例,Python 3.8 将来也会有一个错误修复版本,但是鉴于主要版本之间的间隔期为18个月,因此会产生很多新的但不会广泛使用的代码。这意味着后续版本将具有大量的错误修复。

3.无法真正使用新的语法

Python 3.8引入了新语法,但其他工具尚未同步跟进以支持新语法,例如自动格式化程序和代码检测工具等。除非“配套设施”已同步更新,否则我们将无法真正使用新的语法。

所以什么时候切换至使用主要的新 Python版本?

至少,我们需要等到:

所有的库都明确支持新的Python版本。

所依赖的所有工具都明确支持新的Python版本。

因此,不妨在新的主要Python版本发布后等待几个月,我们再去尝试。如果确实迫不及待,可以等到第一个小版本更新发布后再尝试,这里的情况是Python 3.8.1。

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: