社区所有版块导航
Python
python开源   Django   Python   DjangoApp   pycharm  
DATA
docker   Elasticsearch  
aigc
aigc   chatgpt  
WEB开发
linux   MongoDB   Redis   DATABASE   NGINX   其他Web框架   web工具   zookeeper   tornado   NoSql   Bootstrap   js   peewee   Git   bottle   IE   MQ   Jquery  
机器学习
机器学习算法  
Python88.com
反馈   公告   社区推广  
产品
短视频  
印度
印度  
Py学习  »  Python

Python 3.8 发布了,现在要不要迁移?

编程派 • 5 年前 • 691 次点击  

后台回复【入门资料

送你十本Python电子书


编译 | 局长@开源中国

推荐 | 编程派公众号


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

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

1.缺少软件包

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

  1. $ docker run python:3.8-slim pip install opencv-python

  2. ERROR: Couldnot find a version that satisfies the requirement opencv-python (from versions: none)

  3. 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。

回复下方「关键词」,获取优质资源


回复关键词「 pybook03」,立即获取主页君与小伙伴一起翻译的《Think Python 2e》电子版

回复关键词「入门资料」,立即获取主页君整理的 10 本 Python 入门书的电子版

回复关键词「m」,立即获取Python精选优质文章合集

回复关键词「book 数字」,将数字替换成 0 及以上数字,有惊喜好礼哦~


推荐阅读



题图:pexels,CC0 授权。

Python社区是高质量的Python/Django开发社区
本文地址:http://www.python88.com/topic/48627
 
691 次点击