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。

python最新版本-Python 3.8 已发布 现在是切换至新版本的好时机吗?相关推荐

  1. GSA 8月最新5G报告:全球已发布100台5G设备

    近日,全球移动供应商协会(GSA)发布了8月份最新的5G数据,显示了持续的进展. 具体来说,GSA统计目前总共有100台已发布的5G设备,从手机到热点都有. 此外,该组织表示,全球共有39家无线网络运 ...

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

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

  3. python版本越高越好吗-Python 3.8 已发布,现在是切换至新版本的好时机吗?

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

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

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

  5. harfbuzz安装位置 linux_最新Ubuntu 20.04 LTS已发布,在Win10中该如何进行安装和使用?...

    最近Ubuntu发布最新的20.04 LTS长期支持版本,官方提供为期5年的更新升级.安全修复等服务.国内的优麒麟团队也同步放出了优麒麟20.04 LTS,加入了全新的UKUI 3.0桌面环境. 那么 ...

  6. 小米手机v3.exo 合并_Android 3.0预览版SDK已发布,eXo启动了Elastic Beanstalk的IDE

    小米手机v3.exo 合并 ECF 3.5速览 斯科特·刘易斯(Scott Lewis)发布了一个博客,提供了对Eclipse Communication Framework(ECF)3.5版所能期望 ...

  7. 已发布的AIR下载链接列表

    嗨,如果你还在为能下载到已发布过AIR Runtime 老版本发愁,那就请看这里http://kb2.adobe.com/cps/853/cpsid_85304.html. 对于正常的使用,在奥多比官 ...

  8. Mac上切换 node 版本

    在做项目的时候,往往会遇到老项目没有升级的问题,node环境版本比较低,自己电脑安装或者新项目安装了最新版本的 node 环境,那么既要支持老版本的使用也要支持新版本那么怎么办呢? Mac 提供了切换 ...

  9. 「BUAA OO Pre」 切换Java版本到OO课程要求版本

    「BUAA OO Pre」 切换Java版本到OO课程要求版本 文章目录 「BUAA OO Pre」 切换Java版本到OO课程要求版本 Part 0 前言 写作背景 定位 笔者设备 您可以在这里期望 ...

最新文章

  1. java下使用Thumbnailator类库来对图片进行缩放
  2. iOS架构-C/C++lame库在Mac下编译通用静态库.a库(13)
  3. jQuery可以查MySQL吗,我们可以在JQuery中执行SQL查询吗
  4. 算法导论之红黑树的学习
  5. 为什么一定要回家?因为我们是中国人
  6. cmake--gccxml
  7. oracle如何配置dns连接,图文详解添加DNS服务器的操作步骤
  8. Swift学习Day01(Object_c 与Swift的相互调用 )
  9. java 类 加载 初始化_java中类的初始化和加载
  10. PX4代码解析(2)
  11. web图片铺满网页_html5的video的背景图片poster铺满全屏大小方法
  12. 基于UCenter关联第三方网站与Discuz用户
  13. docker-rabbitmq
  14. Android Studio 控制台输出中文乱码
  15. win10出现的异常解决
  16. python--字符串
  17. 有关于反走样的理解(学习笔记仅供参考)
  18. 小程序为什么要办理ICP许可证
  19. 13,python中tkinter模块里的按键事件
  20. FPGA||ZYNQ概念理解之: Cortex-A9 处理器及架构

热门文章

  1. Kali安装之后必做20件事 第二版(2017-07-07不断更新)
  2. 登录MOSS站点失败
  3. JwtBearer -- Http身份验证
  4. JS获取DOM元素的八种方法
  5. java基础学习,一些零散的笔记之内部类
  6. JQuery3 的新变化
  7. 5233杨光--第十一周学习总结
  8. [安卓基础] 006.打开另一个Activity
  9. Android 网络通信框架Volley简介(Google IO 2013)
  10. jquery.dragsort.js 实现拖拽过程遇到的问题