你可能听说过Python 2和Python 3。尽管它们是同一种语言的两个版本,但它们的语法不同;用Python 3编写的代码可能无法在Python 2中运行。让我们来看看如何在Windows、macOS和Linux系统的命令行和脚本中检查你的Python版本。
Python是最流行的编程语言之一。由于其简单的语法、高生产率和惊人的开源库,[Python几乎可以用来做任何事情]
然而,你可能已经注意到,有些人使用Python 2,而另一些人则喜欢Python 3。这两个版本之间的差异非常显著,不仅仅是修复了一些错误和添加了一些新功能。如果应用程序是用Python 2编写的,你可能无法用Python 3来运行它。
所以,你必须知道你电脑上安装的Python版本。让我们看看如何查看Python版本。我们将从命令行开始。
在命令行中查看Python版本
你可以很容易地在命令行/终端/外壳中查看你的Python版本。首先,让我们回顾一下如何在不同的操作系统中访问命令行。
Windows
- 按下 Win+R 键
- 输入 powershell
- 按 OK 或 Enter
macOS
- 打开 Finder
- 点击 Applications
- 选择 Utilities -> Terminal
Linux
- 打开 terminal 窗口
然后,在上述任一操作系统中,你只需在命令行中输入**python --version**
或python -V
,然后按**Enter**
。你会得到这样的结果:
python --version
Python 3.8.3
python -V
Python 3.8.3
根据你的Python发行版,你可能会在结果集中得到更多信息。然而,我们要找的是“Python”后面的数字。在这种情况下,完整的版本号是3.8.3。
通常,我们只关心主要版本——Python 2或Python 3。这由完整版本号的第一个数字表示。在我们的例子中,这个数字是3,这意味着我们安装的是Python 3。
从Python 3.6开始,你还可以使用**python -VV**
(这是两个V,不是一个W)来获得关于你的Python版本的更详细信息:
python -VV
Python 3.8.3 (default, Jul 2 2020, 17:30:36) [MSC v.1916 64 bit (AMD64)]
有时你可能想在编写应用程序时检查Python的版本(即在脚本中)。这在你电脑上安装了多个Python版本时尤其有用。要检查正在运行的Python版本,你可以使用sys模块或platform模块。脚本在Windows、macOS和Linux中都是相同的。
要使用sys模块检查Python版本,编写如下代码:
import sys
print (sys.version)
你会得到:
要使用platform模块检查Python版本,使用如下代码:
import platform
print(platform.python_version())
输出如下:
两个代码片段都会以字符串格式输出Python版本。如果需要,你还可以以元组格式获取版本号。元组包含五个组成部分:主要版本、次要版本、微版本、发布级别和序列号:
当然,你可以通过索引(如sys.version_info[0]
)或名称(如sys.version_info.major
)轻松获取这个元组的各个组成部分。
很简单,对吧!
Python 2还是Python 3?
现在我们知道如何查看Python版本了。但这两个版本有什么区别呢?
Python 2 是一个较旧的版本,以前广泛用于软件开发和IT运维(DevOps)。然而,自2020年1月1日起,它不再开发和维护,已经停止更新。这意味着Python 2中发现的任何错误或安全问题都不会再被修复。Python的志愿开发者建议使用Python 2的人尽快迁移到Python 3。
Python 3 于2008年首次推出。它的语法和行为与Python 2有很大不同,但通常认为Python 3更简单易懂。
由于Python 2不再受支持,如果你正在编写新应用程序或刚开始学习Python,你一定要选择Python 3。唯一需要学习Python 2的理由是如果你公司的代码是用Python 2编写的,并且你需要处理它。这种情况应该不会经常发生,特别是在Python 2停更一段时间后。
关注我,紧跟本系列专栏文章,咱们下篇再续!
作者简介:魔都架构师,多家大厂后端一线研发经验,在分布式系统设计、数据平台架构和AI应用开发等领域都有丰富实践经验。
各大技术社区头部专家博主。具有丰富的引领团队经验,深厚业务架构和解决方案的积累。
负责:
- 中央/分销预订系统性能优化
- 活动&券等营销中台建设
- 交易平台及数据中台等架构和开发设计
- 车联网核心平台-物联网连接平台、大数据平台架构设计及优化
- LLM应用开发
目前主攻降低软件复杂性设计、构建高可用系统方向。
参考:
共同学习,写下你的评论
评论加载中...
作者其他优质文章