Windows和macOS下检查Python版本的命令有什么不同?

山海之间
山海之间
发布时间:2026-10-24| 3人浏览过
原创

在不同操作系统中检查 Python 版本,最核心的区别在于命令名称的默认绑定机制与多版本启动器的支持:在 macOS 终端中,现代系统通常必须显式执行 python3 --version,直接运行 python 往往会触发命令未找到报错;而在 Windows 系统中,除了通用的 python --version 外,官方安装包还提供了一个功能更强大的专用启动器命令 py --version,不仅无需担心环境变量缺失,还能直接管理与检测系统中并存的多个 Python 版本。

一、底层机制差异:为什么命令不能通用?

许多初学者在跨平台切换时经常产生困惑:为什么在 Windows 教程中写着输入 python,到了 macOS 终端中却提示 command not found?这背后的原因与两个操作系统的历史遗留策略、可执行文件名映射以及环境变量解析规则紧密相关。

在 macOS 方面,早期系统(macOS 12.2 及更早版本)曾长期预装 Python 2.7,当时系统中的 python 命令默认指向 Python 2。苹果在 macOS Monterey 12.3 中彻底移除了内置的 Python 2 运行环境。之后无论是通过 Python 官网安装包还是通过 Homebrew 包管理器安装的 Python 3,出于规范与兼容性考虑,默认都将可执行二进制文件命名为 python3,而不主动覆盖或创建无版本的 python 软链接。因此,在 macOS 终端中执行无数字后缀的 python 通常会直接失效。

在 Windows 方面,微软操作系统本身历史上没有预装 Python 环境。用户从官网下载安装包时,安装向导会在系统目录(通常是 C:\Windows)写入一个名为 py.exe 的 Python 启动器(Python Launcher)。这个启动器始终位于系统默认查找路径中,因此即使安装时没有勾选“Add python.exe to PATH”,py 命令依然可以直接在 CMD 或 PowerShell 中运行。此外,Windows 10 和 11 引入了微软商店的应用别名机制,如果用户未安装 Python 就输入 python,系统默认会跳转打开应用商店引导下载。

Windows和macOS下检查Python版本的命令有什么不同?
图 1:Windows 与 macOS 下 Python 命令调用机制与别名支持对比

二、两个平台下检查版本的具体操作与示例

了解差异后,在实际操作中应当针对操作系统选择对应的终端与命令语法。参数大小写在两个系统上保持一致,均支持大写的 -V 或双横线的 --version,但调用的主程序名有所不同。

1. Windows 系统的检查操作

在 Windows 中,推荐按 Win + R 键输入 cmd 打开命令提示符,或者直接使用 Windows Terminal / PowerShell。检查版本通常有以下两种方式:

方法一:使用通用启动器命令(最推荐)

py --version
示例输出 (Windows CMD) Python 3.12.3

该命令会调用注册在系统中的 Python 启动器,自动唤醒当前系统安装的最新稳定版 Python 并返回其版本。如果你计算机上同时安装了 Python 3.10 和 3.12,还可以指定版本号进行定向检查:

py -3.10 --version
示例输出 (Windows CMD) Python 3.10.11

方法二:使用直接命令(需已配置 PATH)

python --version
示例输出 (Windows PowerShell) Python 3.12.3

若系统已正确配置环境变量,该命令同样会输出对应版本。部分打包工具也会生成 python3.exe,因此在较新的 Windows 环境下输入 python3 --version 有时也能工作,但其通用性不如 py。

2. macOS 系统的检查操作

在 macOS 中,按下 Command + 空格键 打开聚焦搜索(Spotlight),输入 Terminal 或“终端”并回车。在 macOS 下检查 Python 版本应遵循如下规则:

标准命令:显式指定 python3

python3 --version
示例输出 (macOS Zsh Terminal) Python 3.12.3

在 macOS 终端中,python3 -V 和 python3 --version 具有相同效果。不要省略末尾的数字 3。如果你尝试输入不带数字的 python --version,系统将给出如下典型错误:

python --version
示例报错输出 (macOS Zsh) zsh: command not found: python
Windows和macOS下检查Python版本的命令有什么不同?
图 2:跨平台检查 Python 版本的标准执行步骤与分支流程

三、如何辅助验证:检查执行文件所在路径

在实际开发中,仅检查版本号有时并不充分。例如系统中可能同时安装了系统自带版本、Homebrew 安装版本以及 Anaconda 打包的集成环境。为了确认执行 --version 的究竟是哪个具体程序,两个系统使用的路径查找命令完全不同:

1. Windows 环境下的路径定位:where 命令

在 Windows 的 CMD 或 PowerShell 中,使用内置的 where 命令查找可执行文件位置:

where python
示例输出 (Windows CMD) C:\Users\Username\AppData\Local\Programs\Python\Python312\python.exe
C:\Users\Username\AppData\Local\Microsoft\WindowsApps\python.exe

如果输出包含多行,说明系统中存在同名程序。排在第一行的路径具有最高优先级,终端在执行 python --version 时调用的正是该路径下的程序。若使用了 py 启动器,更便捷的方法是直接运行:

py -0p
示例输出 (Windows CMD) 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

输出中带有星号(*)的一项即为 py 默认激活并调用的版本。

2. macOS 环境下的路径定位:which 与 which -a 命令

在 macOS 终端中,应当使用 Unix 系统的 which 命令定位当前命令绑定的具体路径:

which python3
示例输出 (macOS Zsh) /opt/homebrew/bin/python3

如果希望查看系统中所有被 PATH 覆盖的 Python 3 路径,可以追加 -a 参数:

which -a python3
示例输出 (macOS Zsh) /opt/homebrew/bin/python3
/Library/Frameworks/Python.framework/Versions/3.12/bin/python3
/usr/bin/python3

其中 /opt/homebrew/bin/python3 属于 Apple Silicon 架构下的 Homebrew 安装路径;/Library/Frameworks/... 属于官网 pkg 安装包路径;而 /usr/bin/python3 则是 macOS 系统为 Xcode 命令行开发工具预留的桩程序(Stub)。

四、常见报错与排查路径

当执行版本检查命令未出现预期的版本号时,往往是因为系统环境变量配置或别名拦截导致的。下述三类情况最为常见:

Windows和macOS下检查Python版本的命令有什么不同?
图 3:检查版本时的三大常见报错排查与针对性处理流程
参数大小写避坑提示:在两个系统中执行检查命令时,版本参数必须是大写的 -V 或双横线的 --version。如果不小心输入了小写的 -v(例如 python3 -v 或 py -v),Python 并不会仅打印版本后退出,而是会进入交互式命令行,并伴随输出大量模块初始化及导入跟踪日志。此时按下 Ctrl + Z 加回车(Windows)或 Ctrl + D(macOS)即可正常退出。

五、两平台命令速查与最佳实践总结

为了便于日常开发查阅,以下将 Windows 和 macOS 在检查 Python 版本及相关环境时的常用命令进行完整对照:

功能需求 Windows 推荐命令 macOS 推荐命令 差异与执行要点
基础版本检查 py --version 或 py -V python3 --version 或 python3 -V Windows 借助 py 避免环境变量失效;macOS 必须加 3 区分版本。
指定大版本检查 py -3 --version python3 --version Windows 可通过 py -2 或 py -3 切换版本。
指定小版本检查 py -3.11 --version python3.11 --version 两个平台均支持在主命令后跟次版本号精确定位。
查看解释器文件路径 where python which python3 Windows 使用 where;macOS 使用 Unix 标准 which。
列出所有已装版本 py -0p which -a python3 Windows 专用启动器自带汇总功能;macOS 依赖查找 PATH 所有匹配项。
查看详细编译配置 py -c "import sys; print(sys.version)" python3 -c "import sys; print(sys.version)" 进入内部打印编译器信息(如 GCC/Clang 版本与 64/32 位架构)。
Windows和macOS下检查Python版本的命令有什么不同?
图 4:Windows 与 macOS 下 Python 版本检查命令速查与最佳实践图解
相关标签:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。