py启动器是Windows管理Python多版本最可靠方式,自带无需额外安装,通过py -2/py -3调用对应解释器;必须勾选“Use admin privileges”确保py.exe写入C:\Windows\实现全局可用,且需正确配置Python 2注册表路径、避免PATH污染。

py 启动器是 Windows 上管理 Python 多版本最可靠的方式,它不依赖 PATH 顺序、不改文件名、不手动注册环境变量,且从 Python 3.3 起就随官方安装包自带。只要正确启用,py -2 和 py -3 就能稳定调用对应解释器——这是唯一推荐的主版本管理方式。
为什么必须勾选 “Use admin privileges when installing py.exe”
这个选项控制 py.exe 是否被写入系统级目录(C:\Windows\),而非用户目录。若未勾选,py 可能只在当前用户下可用,或在某些 CMD/PowerShell 环境中根本不可见。
- 不勾选 →
py被装到%LOCALAPPDATA%\Programs\Python\Launcher\,常导致其他账户或管理员 CMD 中执行失败 - 勾选后,
py位于C:\Windows\py.exe,所有终端均可直接调用 - 该选项仅在 Python 3 安装时出现;Python 2 不提供
py,也不需要它
py -2 找不到 Python 2?检查注册表和安装路径
py 不靠 PATH 查找 Python 2,而是读取 Windows 注册表中的 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore\2.7\InstallPath(或 2.7-32)。如果 py -2 --version 报错 No Python installation found,说明注册表没写对。
- Python 2 安装时务必选择 “Add Python 2.7 to PATH”,否则注册表项常为空或路径错误
- 手动验证注册表:打开
regedit,定位到上述路径,确认InstallPath的字符串值是类似C:\Python27\的结尾带反斜杠的完整路径 - 若注册表缺失,可手动新建
InstallPath字符串项并填入正确路径(注意权限,需管理员) - 不要尝试把 Python 2 安装到带空格或中文路径(如
C:\Program Files\Python27),py对这类路径解析不稳定
避免 python 命令被污染:PATH 里只留 Python 3
很多教程建议把 Python 2 和 Python 3 都加进 PATH,再靠重命名 python.exe 来区分——这会破坏 py 的设计逻辑,且极易引发 pip 冲突。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
- 只将 Python 3 的安装目录(如
C:\Python312\)及其Scripts子目录加入 PATH - 绝对不要把 Python 2 的路径加入 PATH;否则
pip install可能误绑定到 Python 2,而python命令又可能随机指向任一版本 - 此时
python和pip默认就是 Python 3;想用 Python 2,只走py -2和py -2 -m pip - 验证:运行
where python应只返回 Python 3 路径;where py应返回C:\Windows\py.exe
虚拟环境必须用 py -X -m venv 创建,不能用裸 python -m venv
直接用 python -m venv 创建的虚拟环境,其激活后的 python 命令仍可能受 PATH 干扰,尤其当 PATH 中混入了多个 Python 目录时。
立即学习“Python免费学习笔记(深入)”;
- 创建 Python 3 环境:
py -3 -m venv venv3 - 创建 Python 2 环境:
py -2 -m virtualenv venv2(需先用py -2 -m pip install virtualenv) - 激活后,
venv2\Scripts\python.exe是硬链接到 Python 2 主解释器,不会因 PATH 变化而漂移 - 切记:Python 2 的
venv模块不存在,必须用第三方virtualenv;Python 3.3+ 才内置venv
py 启动器本身不处理 pip 版本映射,pip 命令是否指向正确解释器,完全取决于你如何调用它——最安全的写法永远是 py -X -m pip。很多人卡在“pip install 包装到了错的 Python 下”,根源不是安装问题,而是忘了加 py -X -m 这层显式绑定。

















