python3.8兼容3.6吗_选择 Python3.6 还是 Python 3.7
该楼层疑似违规已被系统折叠 隐藏此楼查看此楼
选择 Python3.6 还是 Python 3.7
Python 3.7 已经正式发布啦!又推出了全新版本哦!该怎么选呢?追剧一样的节奏快更新吧!白月黑羽来帮你分析一下吧
首先大家要知道 Python 3.7 是对 Python 3.6 的升级。
Python3.7有什么新东东?
请参考官方文档https://docs.python.org/3/whatsnew/3.7.html以了解关于Python 3.7新特性的详细说明。值得注意的是,在相较于Python 3.6而言时序上几乎实现了完全兼容性(即两者在语法层面基本一致),但其中需要注意的是以下几点:
Backwards incompatible syntax changes:
async and await are now reserved keywords.
这段话揭示了 3.7 唯一与 3.6 不兼容的地方在于 async 和 await 已经成为了Python语言中保留的关键字。
什么意思?
在程序设计中, async 和 await 两个关键字犹如 import、for 和 while 这样的关键字一样,并被系统特意保留为具有特殊用途的关键字。
意思是,在Python 3.7版本中不允许将那两个词(即async和await)用作变量名、函数名或类名。
比如,我像下面这样定义变量和函数:
async = 1
def await():
pass
使用Python3.6 运行,没有问题, 而在Python 3.7 里面就会报如下错误
SyntaxError: invalid syntax
如何选择呢?
如果项目正在使用的是Python 3.6版本,并且项目规模较大的话,个人不建议过早升级至Python 3.7版本。不清楚您的项目代码是否经过了Python 3.7版本的兼容性测试。毕竟Python 3.7版本刚刚发布不久。
例如,我撰写这篇文章的时间是2018年7月13日,我发现PostgreSQL数据库的Python API驱动库psycopg2在Python 3.7版本中存在安装问题。
3.7 的 pip 执行
pip install psycopg2-binary
安装就会失败,提示 Error: pg_config executable not found
而 3.6的pip安装就没有问题。
所以,我们最好等到3.7被普遍使用了,再转过去。
现需升级至Python3.7版本,并非无特殊情况例外。除非您的项目对Python3.7内部新特性有特别高的需求,在此情况下,则必须实施充分针对旧代码库的测试方案。以防止在上线过程中出现潜在问题。
我还在用Python2.7怎么办?
如果一个项目的当前版本是Python 2.7,并且该项目的后续功能需求还需要进一步扩展,请问是否应该适时地升级至Python3?
鉴于此,在2020年之前Python2 已经退出了支持状态,在那个时候可能出现一些安全漏洞等问题会带来诸多不便。 此外还有一些非常实用的新特性以及相关的库都不具备对Python2的支持。
如果考虑将项目迁移到Python3环境的话, 当前可以选择升级至Python3.6版本, 这是因为目前多数开发者仍倾向于使用这一主流版本以确保项目的兼容性与稳定性。等到未来的某个阶段PyPy对Python3.7的支持更为广泛时, 再进行进一步升级也将不会影响项目的正常运行。
更多内容,百度【白月黑羽】移步到Python3教程了解
