python 启动器命令 py 答惑
py命令是python自带的版本管理器吗?
不是。py 不是 Python 语言自带的版本管理器,准确说它是 Windows Python Launcher(Python 启动器),由 Python 官方安装程序提供,用于选择和启动不同版本的 Python 解释器。
它更像一个“Python 版本选择器”,而不是像 uv、pyenv 那样负责安装、管理多个 Python。
1. py 的作用
假设你的电脑安装了:
C:\Python310\python.exe
C:\Python311\python.exe
C:\Python313\python.exe
如果直接输入:
python
Windows 不一定知道调用哪个。
而:
py
会启动 Python Launcher,它会根据规则选择版本。
例如:
py
默认启动:
Python 3.13
2. 查看已安装 Python
命令:
py -0
或者:
py --list
例如:
Installed Pythons found by py Launcher:
-3.13-64 *
-3.11-64
-3.10-64
含义:
* 默认版本
-3.13 Python 3.13 64位
-3.11 Python 3.11 64位
3. 指定 Python 版本运行
例如:
使用 Python 3.11:
py -3.11
进入:
Python 3.11.x
>>>
执行脚本:
py -3.11 test.py
4. 创建 venv 时非常有用
例如你的 BGE 环境需要 Python 3.11:
不用:
python -m venv .venv
因为不知道 python 指向哪里。
使用:
py -3.11 -m venv .venv
明确:
Python Launcher
|
|
选择 Python 3.11
|
|
创建 .venv
这是 Windows 上很推荐的写法。
5. py 和 python 的关系
安装 Python 时:
Python Installer
|
+-- python.exe
|
+-- py.exe
例如:
C:\Windows\py.exe
通常:
python.exe
是真正解释器。
而:
py.exe
只是启动器。
流程:
输入:
py -3.11 script.py
↓
py.exe
↓
查找注册表
↓
C:\Python311\python.exe
↓
执行
6. py 不负责什么?
它不能:
❌ 安装 Python
例如:
py install 3.11
不存在。
❌ 删除 Python
不存在:
py uninstall 3.11
❌ 管理虚拟环境
它不能:
py venv list
❌ 管理包
不是:
py install torch
安装包仍然:
pip install torch
7. 和 uv / pyenv 对比
| 功能 | py launcher | uv | pyenv |
|---|---|---|---|
| 选择Python版本 | ✅ | ✅ | ✅ |
| 安装Python | ❌ | ✅ | ✅ |
| 删除Python | ❌ | ✅ | ✅ |
| 创建venv | 间接 | ✅ | 间接 |
| 管理包 | ❌ | ✅ | ❌ |
| Windows支持 | ★★★★★ | ★★★★★ | ★★ |
8. 你的情况应该怎么用?
你的机器:
Windows 10
GTX1080Ti
PyTorch
BGE
FlagEmbedding
推荐:
方案A:纯官方 Python
安装:
Python 3.11
Python 3.12
管理:
py -3.11 -m venv .venv
安装:
pip install ...
方案B:uv(更适合AI开发)
使用:
uv python install 3.11
uv venv --python 3.11
uv pip install torch
总结:
py是 Python 官方 Windows 启动器(Python Launcher),负责“选择哪个 Python 来运行”,不是 Python 版本管理器。
简单记:
py = 选择 Python
uv = 安装/管理 Python + 环境 + 包
pyenv = 管理 Python 版本
venv = 创建隔离环境
pip = 安装 Python 包
对于 BGE + PyTorch 项目,py -3.11 -m venv .venv 是最稳的基础方案。

浙公网安备 33010602011771号