
这是 Python 官方为 Windows 用户提供的一个轻量级但非常实用的工具,用于管理多个已安装的 Python 版本。
什么是 Python Launcher for Windows?
官方名称:Python Launcher
命令行调用名:py
首次引入:Python 3.3(PEP 397)
默认安装:从 Python 3.3 起,只要通过 python.org 安装器安装 Python(勾选了 “Add Python to PATH” 或即使没勾选),Launcher 会自动安装到系统目录(如 C:\Windows\py.exe),因此它总是可用的。
0. 帮助命令
# py --help
1. 列出所有已安装的 Python 版本
# py -0
-V:3.14[-64] * Python 3.14.2
-V:3.12[-64] Python 3.12.10
-V:3.9[-64] Python 3.9.13
或者
# py -0p
-V:3.14 C:\Users\amd\AppData\Local\Python\pythoncore-3.14-64\python.exe
-V:3.12 C:\Users\amd\AppData\Local\Python\pythoncore-3.12-64\python.exe
-V:3.9 * C:\Users\amd\AppData\Local\Python\pythoncore-3.9-64\python.exe
2. 安装和启动特定版本的 Python
# py install 3.12 # 也可以使用自带的另一个命令叫做 pymanager.exe , 通常是安装在C:\Program Files\PyManager 和 py.exe 在一起的
# py -3.12
# py -3.9
3. 运行脚本或模块
py -3.11 my_script.py
py -3.12 -m pip install requests
py -3.9 -m http.server 8000
4. Shebang 支持(跨平台兼容)
在脚本第一行写:
#!/usr/bin/env python3.11
print("Hello from 3.11!")
在 Windows 上,Python Launcher 会解析这行并自动调用对应的 Python 版本(无需修改脚本)。
5. 启动交互式解释器并执行初始化命令
你可以结合 -c 执行代码:
py -3.11 -c "import sys; print(sys.version)"
或者进入交互模式后自动运行一段代码(通过环境变量或配置较复杂,一般直接用 -c 更简单)。
6. 与虚拟环境配合使用
虽然 py 本身不创建虚拟环境,但它可以指定某个 Python 版本来创建 venv:
py -3.12 -m venv myproject_env
myproject_env\Scripts\activate
这样确保你的虚拟环境基于你想要的 Python 版本。
💡 小技巧:即使系统 PATH 中默认是 Python 3.9,你仍可用 py -3.12 创建 3.12 的虚拟环境。
7. 调试脚本时指定版本
在 IDE 或编辑器外部快速测试脚本在不同 Python 版本下的行为:
py -3.10 debug_script.py
py -3.12 debug_script.py
非常适合验证兼容性(比如 f-string、match-case 等新语法是否报错)。
8. 静默运行(无控制台窗口)—— 用于 GUI 程序
对于 .pyw 文件(无控制台的 Python 脚本),Launcher 也支持:
pyw -3.12 my_gui_app.pyw
这会启动 Python 但不弹出黑色命令行窗口,适合 Tkinter、PyQt 等 GUI 应用。
⚠️ 注意命令是 pyw(不是 py -w)。
9. 传递参数给 Python 解释器
你可以把 py 当作 python 的代理,传递所有标准参数:
py -3.12 -O my_script.py # 优化模式(__debug__ = False)
py -3.12 -B my_script.py # 不生成 .pyc 缓存
py -3.12 -u my_script.py # 无缓冲输出(适合日志实时打印)
py -3.12 -m site # 查看 site-packages 路径
10. 在批处理脚本(.bat)中使用
在 Windows 批处理文件中可靠地调用特定 Python 版本:
@echo off
py -3.12 -m my_package.cli %*
这样即使用户没把 python 加入 PATH,脚本也能运行(因为 py.exe 在 C:\Windows 下,总在 PATH 中)。
你可以通过创建 %LOCALAPPDATA%\py.ini(或 C:\Users\<用户名>\py.ini)来设置默认行为:
[defaults]
python=3.11这样 py 命令默认就用 3.11,而不是最新安装的版本。
优势 说明
官方提供 由 CPython 团队开发,随安装包自带
零依赖 不需要额外安装,开箱即用
多版本支持 自动发现并管理多个官方安装的 Python
脚本兼容性好 支持 Unix 风格的 shebang 行
与 pip 集成 可直接用 py -3.x -m pip 管理各版本的包
1 仅适用于 Windows。macOS/Linux 用户需使用 pyenv、asdf 等第三方工具。
2 只识别官方安装器安装的 Python。如果你用的是:
Microsoft Store 安装的 Python → 可能无法被识别
Anaconda/Miniconda → 通常不会被 Launcher 发现
嵌入式 ZIP 包 → 不会被识别
3 若想让非官方安装的 Python 被识别,需手动添加注册表项(一般不推荐)。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。