Windows和Mac怎么查Python版本
详细介绍在Windows和Mac系统下查看Python版本的标准终端命令、执行机制差异、多版本排查技巧及常见报错解决方法。
在电脑上运行 Python 脚本或配置开发环境时,确认当前终端调用的 Python 版本是最基础也是最关键的一步。由于 Windows 和 macOS 两大操作系统的终端工具、环境变量管理机制以及内置命令别名存在差异,查询版本的方式各有讲究。本文将分别介绍在 Windows 和 Mac 环境下检查 Python 版本的标准指令、多版本切换识别方式以及常见报错的应对策略。
一、Windows 系统下查询 Python 版本
在 Windows 环境中,我们通常使用系统自带的命令提示符(CMD)或 PowerShell 来执行命令。你可以通过快捷键 Win + R 打开运行窗口,输入 cmd 或 powershell 并回车,也可以在开始菜单中搜索“终端”打开 Windows Terminal。
1. 常规查询命令
在打开的黑底或蓝底终端窗口中,输入以下任一命令并按下回车:
python --version
或者使用大写缩写参数:
python -V
如果系统已正确配置环境变量,终端将直接返回当前绑定的版本信息。例如示例输出:
Python 3.11.4
2. 使用 Windows 专用的 py 启动器
官方为 Windows 用户提供了名为 Python Launcher 的轻量级启动管理工具(命令为 py)。只要在安装 Python 时勾选了默认的启动器组件,即便没有把 Python 目录手动写入系统 PATH 环境变量,也可以通过 py 快速检测版本:
py --version
如果你在一台电脑上安装了多个 Python 版本(例如同时存在 Python 3.9 和 Python 3.12),可以通过启动器列出系统中所有已注册的版本列表:
py --list
或者执行简写命令:
py -0
带有星号 * 的项目表示当前默认调用的版本。若想临时指定使用某个版本运行脚本,可以直接输入 py -3.10 script.py。
二、macOS 系统下查询 Python 版本
在 Mac 系统中,日常使用的终端是位于“应用程序 -> 实用工具”中的 终端(Terminal.app),也可以通过快捷键 Cmd + 空格键 呼出聚焦搜索(Spotlight),键入 terminal 并回车打开。
1. 为什么 Mac 推荐必须使用 python3
过去苹果在 macOS 系统中曾预装过 Python 2.7。但从 macOS Monterey 12.3 开始,苹果官方已经彻底移除了系统内置的 Python 2.7 解释器。与此同时,现代 Python 社区约定在 Unix 系系统中,python 和 python3 是解耦的。
如果直接在 Mac 终端中输入 python -V,通常会得到以下提示:
zsh: command not found: python
因此在 Mac 上检查已安装的现代 Python 版本,标准且可靠的命令是:
python3 --version
或者:
python3 -V
控制台将返回当前生效的 Python 3 具体版本,例如:
Python 3.12.3
2. 查询 Python 的实际安装路径
在 Mac 上,用户可能通过多种方式安装了 Python(例如从 Python 官方网站下载的 PKG 安装包、通过 Homebrew 软件包管理器安装,或者使用 pyenv/Conda)。若要确认当前执行的 python3 到底位于哪个物理目录,可以使用 which 命令:
which python3
典型的输出路径通常有以下几种情况:
/opt/homebrew/bin/python3:在 Apple Silicon(M1/M2/M3 等)芯片机型上使用 Homebrew 安装的标准路径;/usr/local/bin/python3:在 Intel 架构 Mac 上使用 Homebrew 安装的路径;/Library/Frameworks/Python.framework/Versions/3.x/bin/python3:从官网下载 PKG 安装包时的全局安装路径;/usr/bin/python3:随苹果 Xcode 命令行开发者工具(Command Line Tools)附带的精简版 Python 环境。
三、在代码与交互式环境中获取详细版本信息
命令行参数 -V 只能快速打印一行简明的“主版本.次版本.修订号”。但在某些情况下,我们需要深入了解 Python 的架构位数(32位还是64位)、编译器版本、构建时间以及系统环境。此时可以通过代码或交互式解释器进行更细致的探查。
1. 进入交互式命令行模式
直接在终端中键入 python(Windows)或 python3(Mac)并回车,系统就会进入 Python 交互式 REPL 环境。在欢迎信息的首段就会完整输出环境信息:
Python 3.11.4 (tags/v3.11.4:d2340ef, Jun 7 2023, 05:45:37) [MSC v.1934 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>
在此界面中,方括号内的 64 bit 明确说明了当前 Python 是 64 位版本。若要退出交互模式,只需输入 exit() 并按回车即可返回常规终端。
2. 使用一行脚本打印 sys 模块详细信息
如果不想手动进出交互模式,可以直接在终端中利用 -c 参数执行 Python 单行脚本。无论在 Windows 还是 Mac 下都完全通用:
# Windows 下执行
python -c "import sys; print(sys.version)"
# Mac 下执行
python3 -c "import sys; print(sys.version)"
如果希望以结构化元组的方式获取主版本号、次版本号和补丁版本号,便于自动化脚本判断,可以执行:
python3 -c "import sys; print(sys.version_info)"
输出示例:
sys.version_info(major=3, minor=11, micro=4, releaselevel='final', serial=0)
四、常见疑难问题排查与注意事项
1. Windows 总是跳转到 Microsoft Store 的解决办法
很多 Windows 10/11 用户在全新电脑上输入 python 时,系统不会报错,而是直接弹出一个微软应用商店的下载界面。这是因为 Windows 预装了两个空的占位符(名为“应用执行别名”)。只要电脑的 PATH 中还没有配置真正的 Python 路径,系统就会唤醒这个别名。
彻底解决此问题的步骤:
- 打开 Windows 设置(快捷键
Win + I); - 进入 应用 -> 高级应用设置(或“应用和功能”);
- 点击 应用执行别名(App execution aliases);
- 在列表中找到名为 “应用安装程序 (python.exe)” 和 “应用安装程序 (python3.exe)”,将右侧开关切换为 关闭。
关闭后重新打开终端窗口,输入命令就不会再触发商店弹窗。
2. 多版本共存时的优先级与查找
当系统里先后安装了 Anaconda、官方 Python、以及嵌入式工具链时,终端只会执行在 PATH 变量中排列在最前面的那一个。你可以通过以下命令查出所有并存的 Python 路径:
- Windows:运行
where python,终端会按加载优先级自上而下列出全部匹配的可执行文件路径; - Mac:运行
which -a python3,同样会展示当前 PATH 下能够找到的所有python3路径。
3. 虚拟环境(Virtualenv / Conda)中的版本确认
在参与具体项目开发时,推荐在独立的虚拟环境中工作。当你在终端执行了激活脚本(例如 Windows 下的 .\venv\Scripts\activate 或 Mac 下的 source venv/bin/activate)后,终端提示符前通常会出现带括号的虚拟环境名称(如 (venv))。
此时再次输入 python --version,系统调用的实际上是该虚拟环境内部隔离的 Python 副本,其版本完全取决于创建虚拟环境时所使用的基准解释器。
五、总结对照表
为了便于日常快速查阅,以下将两个系统的查询常用指令整合为速查表:
| 查询目标 | Windows 推荐命令 | macOS 推荐命令 | 适用场景与说明 |
|---|---|---|---|
| 快速查看默认版本 | python --version 或 py -V |
python3 --version |
验证当前终端环境默认调用的主要版本 |
| 列出所有已安装版本 | py --list(或 py -0) |
which -a python3 |
多版本共存时,查看系统能够识别的所有解释器 |
| 定位可执行文件路径 | where python |
which python3 |
确认当前运行的具体安装路径(如 Homebrew 或官方安装包) |
| 查看位数与编译环境 | python -c "import sys; print(sys.version)" |
python3 -c "import sys; print(sys.version)" |
确认是 64 位还是 32 位,以及底层编译器与补丁版本 |
| 退出交互式解释器 | exit() 或 Ctrl + Z 然后回车 |
exit() 或 Ctrl + D |
从交互式环境正常返回系统终端 |
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













