怎么查看本地安装的Python版本?

青禾
青禾
发布时间:2026-11-05 | 7人浏览过
原创

详细讲解在Windows、macOS和Linux系统中查看本地安装的Python版本的多种实用方法,包括终端命令行检测、多版本PATH寻址排查、虚拟环境识别以及Python脚本内部代码检测。

查看本地安装的 Python 版本最直接的方法是打开操作系统的命令行终端(Windows 命令提示符 / PowerShell,或 macOS / Linux 终端),输入并运行 python --version 或 python3 --version。终端会直接返回类似于 Python 3.12.2 的版本字符串。如果本地安装了多个 Python、使用了虚拟环境或需要在脚本运行时进行版本校验,还可以通过专用的启动器、路径定位命令以及内置的 sys 和 platform 模块进行精准确认。
怎么查看本地安装的Python版本?
概览:本地 Python 版本查看维度与核心工具链

一、终端命令行快速查看方法

命令行是查看 Python 版本最直接、最常用的入口。由于操作系统平台机制和历史遗留约定的差异,不同系统下的命令存在细微差别。

1. 通用查询命令

在任何终端中,最常见的通用命令如下:

终端输入
python --version
示例输出
Python 3.12.2

你也可以使用简写形式 python -V(注意必须是大写字母 V)。参数大写 -V 与长参数 --version 完全等价。

注意避免参数大小写混淆:如果误将大写 -V 输成小写 -v,即执行 python -v,Python 并不会仅仅打印版本号,而是会直接启动交互式解释器,并开启“详细导入模式(Verbose)”,在屏幕上刷出几百行模块加载日志。遇到此情况输入 exit() 并回车即可退出。

2. macOS 与 Linux 平台的专属要求

在现代 macOS 与大多数 Linux 发行版(如 Ubuntu、Debian)中,系统已经移除了默认的 Python 2。按照 POSIX 社区标准,通过包管理器(如 Homebrew 或 apt)安装的 Python 解释器通常被命名为 python3。

因此,在 macOS 或 Linux 终端中,应首选执行:

macOS / Linux 终端
python3 --version
示例输出
Python 3.11.8

如果在 macOS 上输入 python --version,系统可能会提示 zsh: command not found: python,或者弹窗提示安装 Xcode 开发者工具。这是正常现象,并不意味着你没有安装 Python,而是说明系统没有建立名为 python 的软链接。直接改用 python3 --version 即可。

3. Windows 平台的最佳实践:使用 py 启动器

在 Windows 官方安装包中,默认附带了一个轻量级管理工具——Python Launcher(启动器),可执行文件为 py.exe。它的优势在于能自动检索注册表,找到系统中最新安装的 Python 解释器,即使没有手动配置 PATH 环境变量也能正常工作。

Windows CMD / PowerShell
py -V
示例输出
Python 3.12.2

若本地安装了多个 Python(例如同时装有 3.10 和 3.12),可以运行以下命令列出启动器检测到的所有版本及其物理安装位置:

Windows 列出全部版本
py -0p
示例输出
Installed Pythons found by py Launcher for Windows
-3.12-64 * C:\Users\username\AppData\Local\Programs\Python\Python312\python.exe
-3.10-64 C:\Users\username\AppData\Local\Programs\Python\Python310\python.exe

输出中带星号(*)的行即代表当前默认启动的版本。

怎么查看本地安装的Python版本?
图1:终端查看 Python 版本的指令执行与判断分支

二、容易混淆的现象:为什么输出的版本与预期的不一致?

初学者在查看版本时经常遇到一种疑惑:“我刚刚明明从官网下载安装了最新的 Python 3.12,为什么在命令行输入 python --version,显示的却是 Python 3.9,甚至直接打开了 Windows 应用商店?”

这种现象看似矛盾,实际上是因为操作系统的环境变量搜索机制(PATH)在起作用。

1. PATH 环境变量的“首位命中”机制

当你在终端输入 python 时,操作系统并不会遍历整块硬盘去寻找“最新发布的版本”,而是按照环境变量 PATH 中登记的文件夹列表,自上而下逐个查找。只要在前面的文件夹里找到了名为 python.exe 的文件,就会立即启动它并终止搜索。

因此:

  • 如果你以前安装过 Anaconda、Miniconda、旧版 Python 或者某些内置 Python 的开发软件(如嵌入式工具链),它们的安装目录如果排在 PATH 变量的前面,新安装的 Python 就会被拦截。
  • 在 Windows 10/11 中,微软预置了一个位于 WindowsApps 目录下的 python.exe 占位重定向程序。如果在安装 Python 时未勾选“Add python.exe to PATH”,由于没有在 PATH 前面添加实际解释器,系统就会命中该占位程序,从而弹出应用商店引导下载。
怎么查看本地安装的Python版本?
图2:多版本共存时操作系统 PATH 环境变量的逐级寻址机制

2. 确认当前调用的到底是哪个 Python

当怀疑版本不一致时,不要只看版本号,而应查看该命令对应的实际物理磁盘路径:

  • Windows 系统:使用 where python 命令
  • macOS / Linux 系统:使用 which python3 或 which -a python3 命令
Windows 路径排查命令
where python
示例输出
C:\Users\username\miniconda3\python.exe
C:\Users\username\AppData\Local\Programs\Python\Python312\python.exe
C:\Users\username\AppData\Local\Microsoft\WindowsApps\python.exe

在上述输出中,排在第一行的是 miniconda3 下的解释器,这解释了为什么运行 python --version 得到的是 Conda 的版本,而不是新装的 Python 3.12。要解决此问题,只需在系统环境变量设置中,将目标版本的路径上移到最上方,或者直接使用虚拟环境。

三、在代码与交互式解释器中查看版本

在很多开发场景下,我们并不在命令行查看版本,而是需要在 Python 代码运行过程中动态获取当前解释器版本,例如校验依赖库的最低版本要求,或者记录程序启动日志。Python 标准库内置了两个专门的模块用于此任务。

1. 使用 sys 模块

sys 模块提供了底层运行时的具体细节,常用属性有两个:sys.version 和 sys.version_info。

Python 代码
import sys

# 1. 打印详细版本字符串(包含构建日期与编译器)
print("sys.version:")
print(sys.version)

# 2. 打印版本结构化元组(适合逻辑分支判断)
print(" sys.version_info:")
print(sys.version_info)
示例输出
sys.version:
3.12.2 (v3.12.2:6abddd9f6a, Feb 6 2024, 17:02:06) [Clang 13.0.0 (clang-1300.0.29.30)]

sys.version_info:
sys.version_info(major=3, minor=12, micro=2, releaselevel='final', serial=0)

在进行代码版本兼容性拦截时,绝不要对 sys.version 字符串做正则或切片比对,而应当直接使用 sys.version_info 元组进行逻辑大小比较:

版本判断最佳实践
import sys

if sys.version_info < (3, 10):
    raise RuntimeError("本系统需要 Python 3.10 或更高版本,当前版本过低。")

2. 使用 platform 模块

如果你只需要一个清爽、纯粹的版本号字符串(例如 "3.12.2"),标准库中的 platform.python_version() 是最简洁的选择:

Python 代码
import platform

ver = platform.python_version()
print(f"当前 Python 版本: {ver}")
示例输出
当前 Python 版本: 3.12.2
怎么查看本地安装的Python版本?
图3:Python 内部获取运行版本的属性特性与适用场景对比

四、虚拟环境与特定场景下的版本确认

在实际项目开发中,通常推荐为每个项目创建独立的虚拟环境。在虚拟环境中,查看版本的方法虽然相同,但作用域发生了变化。

1. venv / virtualenv 虚拟环境

在激活虚拟环境后(例如 Windows 下执行 .venv\Scriptsctivate,或 macOS/Linux 下执行 source .venv/bin/activate),终端提示符通常会出现 (.venv) 前缀。

激活状态下,虚拟环境的 bin 或 Scripts 目录会被临时注入到当前终端环境变量 PATH 的最顶端。此时直接运行 python -V,输出的就是该虚拟环境绑定的 Python 版本。

免激活直接查看:如果不方便激活环境,也可以直接指定虚拟环境内的 Python 可执行文件路径来查看版本,例如:
• Windows: .\.venv\Scripts\python.exe --version
• macOS / Linux: ./.venv/bin/python --version

2. Conda 环境版本查看

如果你使用的是 Anaconda 或 Miniconda,可以使用 Conda 工具链查看当前及所有已创建环境的 Python 版本:

  • 查看当前激活环境的 Python 版本:python -V 或 conda list python
  • 查看所有已安装的环境列表及路径:conda info --envs

五、全流程总结与排查决策

为了在遇到问题时能够快速定位,下表总结了不同场景下的首选查看方式,并附带故障排查决策图:

使用场景 推荐执行命令 / 方法 输出形态 主要关注点
Windows 常规检查 py -V 或 python --version 字符串(如 Python 3.12.2) 避免大小写混淆;优先使用 py 启动器
macOS / Linux 检查 python3 --version 字符串(如 Python 3.11.8) 必须带 3,避免命中不存在的默认 python
Windows 多版本盘点 py -0p 版本号 + 对应绝对路径列表 星号标记的是默认调用版本
定位实际执行文件 where python (Win) / which -a python3 (Mac/Linux) 磁盘物理路径 排查环境变量 PATH 优先级冲突
代码运行时条件控制 sys.version_info 具名元组 (major, minor, micro...) 支持直接比较大小:>= (3, 10)
日志展示与字符串导出 platform.python_version() 纯版本号字符串(如 '3.12.2') 简洁规范,无需切片与清洗
怎么查看本地安装的Python版本?
图4:本地 Python 版本确认与环境定位决策流程

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表