Python 启动器介绍
py.exe是 Python 启动器(Python Launcher),是 Windows 系统上 Python 安装附带的一个特殊工具。它支持 Python 多版本选择、替代直接调用 python.exe、支持虚拟环境、Shebang 支持等。 官方文档:
Python 启动器 py.exe 是 Windows 系统上 Python 安装附带的工具,支持多版本管理、虚拟环境及 Shebang 等特性。本文介绍了通过官网或 NuGet 安装 Python 的方法,重点讲解了如何使用 py.exe 查看版本、运行脚本、执行模块及管理虚拟环境。同时提供了设置默认 Python 版本的两种配置方式(环境变量与配置文件),并总结了在项目中优先使用 py.exe 和虚拟环境的最佳实践,避免全局依赖污染。

py.exe是 Python 启动器(Python Launcher),是 Windows 系统上 Python 安装附带的一个特殊工具。它支持 Python 多版本选择、替代直接调用 python.exe、支持虚拟环境、Shebang 支持等。 官方文档:
Python 下载地址 https://www.python.org/downloads/windows/ https://www.python.org/downloads/release/python-3142/ (从 3.14.2 版本开始,不再有 python3.exe)
- Use admin privileges when installing py.exe 请选上
- Add python.exe to PATH 请选上
注意: 当前系统可以安装多个版本。安装完成后,建议使用 py.exe 替代 python 运行(官方推荐方式,默认可能没有 python.exe 的路径)。
nuget.exe 命令行工具可以直接从 https://aka.ms/nugetcli 下载,例如,使用 curl 或 PowerShell。使用该工具安装 64 位或 32 位最新版本的 Python:
nuget.exe install python -ExcludeVersion -OutputDirectory .
nuget.exe install pythonx86 -ExcludeVersion -OutputDirectory .
py --version # 查询当前系统中默认的 Python 解释器版本
py --list # 查询当前系统中安装的所有 Python 解释器版本
py -0 # 带路径查看所有 Python 版本
py -0p # 显示详细路径
py -m pip --version # 查询当前 Python 版本下,包安装器的版本
py 1.py # 运行 Python 脚本
py -3.14 1.py # 使用指定版本运行脚本
在脚本开头添加 shebang 行,启动器会自动选择对应版本:
#!/usr/bin/env python3
# 或
#!python3.12
print("Hello World")
py -m http.server 8000 # 启动本地 Web 服务器
py -m tkinter # 启动简单 GUI 计算器
py -m venv myenv # 创建虚拟环境
py -m unittest discover -s tests # 运行单元测试
py -m pdb myscript.py # 启动 Python 调试器
py -m pip install requests # 使用 pip 安装包
py -m pytest # 运行 pytest 测试
py -m flask run # 运行 Flask 应用
py -m jupyter notebook # 执行 Jupyter
py my_module.py # 执行当前目录下的脚本文件
py -m my_module # 以模块形式执行。Python 会在 sys.path 中寻找名为 my_module 的包或模块来运行。
# my_module 可以是当前目录下的.py 文件,也可以是已安装的包。
项目要使用 Python 虚拟环境(venv 默认可在 Python 3.3 及以后版本中使用)
py -m venv <DIR>
<DIR>\Scripts\activate
在虚拟环境下使得 python 命令可用:
// 1. 进入项目目录
cd myproject
// 2. 使用 py 创建虚拟环境
py -m venv .venv
// 或可指定已安装的 python 版本,创建虚拟环境:
py -3.14 -m venv .venv
// 3. 激活 (进入虚拟环境)
.venv\Scripts\Activate.ps1 // PowerShell
.venv\Scripts\activate.bat // CMD
(.venv) d:\1> // 提示符显示激活状态
// 4. 虚拟环境下使用 python 与 pip
python --version
pip list
// 5. 退出虚拟环境
d deactivate
影响 py --list,当前版本带 *。
set PY_PYTHON=3.12 # 临时设置
setx PY_PYTHON=3.12 # 永久设置,重启电脑生效
启动器将搜索两个 .ini 文件 —— 当前用户应用程序数据目录中的 py.ini (%LOCALAPPDATA%) 以及启动器所在目录中的 py.ini。同样的 .ini 文件还会被用于启动器的'控制台'版本 (py.exe) 和'窗口'版本 (pyw.exe)。
建议在 %LOCALAPPDATA% 下创建 py.ini:
[defaults]
python=3.12
通常项目开发中我们使用 py -版本号 来切换使用 Python;虽然我们可以安装多个 Python 版本,但应用程序安装到一个 Python 版本里,项目开发所用包采用虚拟环境隔离(可以使用安装的多个 Python 版本支持)。
通过官网安装程序安装 Python,务必勾选 Add python.exe to PATH 和 Use admin privileges when installing py.exe。优先使用 py.exe 启动器来调用 Python,而非直接使用 python.exe。把常用的 Python 版本设为默认版本,通常使用'py -版本号'来切换使用不同的 Python 版本(或临时设置环境变量切换 Set PY_PYTHON=3.12)。开发项目必须使用虚拟环境(在虚拟环境里可以直接使用 python, pip 等命令),切勿在系统全局 Python 中直接安装项目依赖。不想进虚拟环境,快捷管理项目包请使用'.venv\Scripts\pip <包名>'来安装包。

微信公众号「极客日志」,在微信中扫描左侧二维码关注。展示文案:极客日志 zeeklog
解析常见 curl 参数并生成 fetch、axios、PHP curl 或 Python requests 示例代码。 在线工具,curl 转代码在线工具,online
将字符串编码和解码为其 Base64 格式表示形式即可。 在线工具,Base64 字符串编码/解码在线工具,online
将字符串、文件或图像转换为其 Base64 表示形式。 在线工具,Base64 文件转换器在线工具,online
将 Markdown(GFM)转为 HTML 片段,浏览器内 marked 解析;与 HTML 转 Markdown 互为补充。 在线工具,Markdown 转 HTML在线工具,online
将 HTML 片段转为 GitHub Flavored Markdown,支持标题、列表、链接、代码块与表格等;浏览器内处理,可链接预填。 在线工具,HTML 转 Markdown在线工具,online
通过删除不必要的空白来缩小和压缩JSON。 在线工具,JSON 压缩在线工具,online