Windows cmd下用py命令查看指定Python版本
详细介绍在 Windows cmd 命令行环境下使用 py 命令(Python Launcher)查看指定 Python 版本的方法,包括列出已安装所有版本、查看特定大版本与次版本、区分32位与64位以及排查常见报错。
在 Windows 环境下同时安装多个 Python 版本是常见需求,但在系统的命令提示符(cmd)中直接运行 python 命令通常只能调用环境变量 PATH 中排在最前面的那一个版本。Windows 官方提供的 py 命令(即 Python Launcher for Windows)专门用于管理和启动多版本 Python。通过 py 命令附带对应版本参数,可以极其便捷地查询已安装的所有版本列表、检查某一特定大版本或精确小版本的具体安装状态,而无需反复修改系统环境变量。
一、为什么使用 py 命令而不是 python
在 Windows 操作系统中安装官方 Python 安装包时,安装向导默认会勾选并安装 py.exe(Python 启动器)。该文件默认存放在 C:\Windows\py.exe 路径下,因为 C:\Windows 始终位于系统全局 PATH 中,所以无论当前系统安装了几个 Python、PATH 变量如何配置,py 都能在任何 cmd 窗口中被即时识别。
传统的 python --version 仅代表当前环境变量解析出的第一个可执行文件,无法直接探测其他共存版本。而 py 命令具备版本路由能力,它会自动检索 Windows 注册表中的 Python 注册信息以及系统环境配置,从而允许开发者通过参数定向指派与检测特定的 Python 版本。
二、第一步:查看当前系统所有已安装版本
在查看具体的某一个版本前,建议先列出系统内已经向 Python Launcher 注册过的所有版本。在 cmd 中运行如下命令:
py -0
也可以使用长选项格式,两者等效:
py --list
运行后控制台会返回类似如下的示例列表:
Installed Pythons found by py Launcher for Windows
-3.12-64 *
-3.11-64
-3.10-64
-3.8-32
解读输出内容的关键点:
- 带星号(
*)的行:表示当前系统默认的 Python 版本。当你在命令行中仅输入py而不带版本参数时,启动的就是这个默认版本。 - 前缀标识:如
-3.11-64表示安装了 64 位的 Python 3.11 次版本,-3.8-32表示安装了 32 位的 Python 3.8。
如果你不仅想看到版本代号,还想知道各个版本安装在硬盘上的具体物理路径,可以加入 p(paths)选项:
py -0p
或长命令:
py --list-paths
该命令会在每一行版本标识右侧打印出对应 python.exe 的完整路径,便于核实是否存在虚拟环境或自定义安装目录。
三、用 py 查看指定版本的具体用法
py 命令查看版本的核心逻辑是:在 py 后面紧跟以连字符开头的版本标识,随后传递 Python 解释器的内置版本参数(--version 或 -V)。
1. 查看最新 Python 3 主版本
如果系统里安装了多个 Python 3 版本(如 3.8、3.10、3.11),只需指定大版本号 -3:
py -3 --version
也可以简写为:
py -3 -V
输出示例:
Python 3.12.2
此时 py 会自动挑选本地已安装的最高版本的 Python 3 进行响应。
2. 精确查看指定次版本(大版本+小版本)
若要验证特定次版本(例如 Python 3.8 或 3.10)是否安装及其最新修订版号,在横杠后写出完整的主次版本号即可:
py -3.8 --version
py -3.10 --version
py -3.11 --version
对应输出示例:
Python 3.8.10
Python 3.10.11
Python 3.11.8
通过这种方式,可以清晰明确地获得各指定版本的完整 build 版本号,而完全不会与其他版本产生冲突。
3. 区分 32 位与 64 位版本
某些工业库或特定自动化软件要求必须运行在 32 位 Python 上。如果你的电脑上同时安装了同小版本的 32 位和 64 位版本,可在版本号后附加位数后缀:
py -3.10-32 -V
py -3.10-64 -V
4. 查看指定版本的详细环境信息(解释器路径与构建时间)
除了简单打印版本字符外,有时需要进一步核对指定版本的编译信息与可执行文件路径,可以利用 -c 参数执行一行短脚本:
py -3.11 -c "import sys; print(sys.version); print(sys.executable)"
输出示例:
3.11.8 (tags/v3.11.8:db85d51, Feb 6 2024, 22:03:32) [MSC v.1937 64 bit (AMD64)]
C:\Users\username\AppData\Local\Programs\Python\Python311\python.exe
这种方法能够完全确认调用的物理解释器绝对路径与架构平台。
四、常见命令对比表
| 需求场景 | cmd 推荐命令 | 执行效果说明 |
|---|---|---|
| 列出所有已识别版本 | py -0 |
输出所有已安装的 Python 版本标签及默认标记(*) |
| 列出版本及物理路径 | py -0p |
不仅显示版本,还显示对应的 python.exe 所在绝对路径 |
| 查看默认版本 | py -V |
调用系统当前默认的 Python 解释器并输出版本 |
| 查看最新的 Python 3 | py -3 -V |
在所有 Python 3.x 中挑选最高版本并输出其版本号 |
| 精准查看指定小版本 | py -3.9 -V |
指定运行 Python 3.9,并输出完整的小修订号 |
| 指定版本并打印完整路径 | py -3.10 -c "import sys; print(sys.executable)" |
由 3.10 解释器执行,打印当前 Python 文件的安装路径 |
五、常见问题与排查指南
py -3.9 -V 报错,优先通过 py -0 观察是否存在该版本。
1. 提示 'py' 不是内部或外部命令,也不是可运行的程序
出现该报错说明当前 Windows 中没有检测到 py.exe。通常有两种情况:
- 安装 Python 时取消了默认勾选的 Python Launcher 组件。解决办法:重新打开 Python 安装安装包,点击
Modify(修改),确保勾选py launcher并完成安装。 C:\Windows不在系统的 PATH 环境变量中(极少见)。打开系统环境变量设置,确认系统变量Path中包含C:\Windows。
2. 提示 Requested runtime cannot be found 或 No suitable Python runtime found
当执行例如 py -3.9 -V 时提示该错误,意味着 Python Launcher 搜索了注册表后并未发现 Python 3.9 的安装记录。这说明:
- 本地并未安装该具体小版本,可通过
py -0查看可用的版本列表。 - 该版本采用免安装 zip 包解压使用,未在 Windows 注册表中注册。对于解压版 Python,Python Launcher 默认不会扫描到它。
3. 如何自定义默认的 Python 版本
如果不带参数直接输入 py -V,默认会调用版本号最高的 Python 3。若开发需求要求默认使用特定版本(例如固定使用 3.10),可以通过以下两种途径指定:
- 通过系统环境变量设置:在环境变量中新增用户变量
PY_PYTHON,值设为3.10。 - 通过配置文件设置:在用户主目录下的 AppData 路径新建或编辑配置文件
%LOCALAPPDATA%\py.ini,写入如下配置:[defaults] python=3.10
保存后再次执行 py -V,输出就会切换为你指定的默认版本。
六、总结
在 Windows cmd 命令行中,py 命令是处理多版本 Python 共存时的最佳利器。只需牢记两组命令组合:通过 py -0 或 py -0p 全面了解系统内所有 Python 版本的注册情况与安装路径;通过 py -<版本号> -V(如 py -3.11 -V)精准核实指定版本的安装结果与版本号,即可高效、准确地完成版本查看与切换管理。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













