惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
大猫的无限游戏
大猫的无限游戏
博客园 - 聂微东
Jina AI
Jina AI
The Cloudflare Blog
V
Visual Studio Blog
博客园_首页
量子位
酷 壳 – CoolShell
酷 壳 – CoolShell
博客园 - 【当耐特】
爱范儿
爱范儿
博客园 - 三生石上(FineUI控件)
小众软件
小众软件
博客园 - 司徒正美
阮一峰的网络日志
阮一峰的网络日志
Last Week in AI
Last Week in AI
V
V2EX
钛媒体:引领未来商业与生活新知
钛媒体:引领未来商业与生活新知
博客园 - 叶小钗
freeCodeCamp Programming Tutorials: Python, JavaScript, Git & More
WordPress大学
WordPress大学
宝玉的分享
宝玉的分享
T
Tailwind CSS Blog
博客园 - Franky

博客园 - 立体风

autohotkey2.0 Send keys参数分析 autohotkey2.0 盲从模式 windows 10 下 vscode 编写编译一个 nana c++ 库的示例程序 vscode 插件 cmake-tools 输出内容解读 Claude Code 处理中文乱码问题 windows 下 python 3.11 的版本问题 pip 安装 老版本 pytorch 的一个容易迷惑的错误 sentence transformer 例子及说明 Sentence Transformers 介绍 Jina Reranker 替代方案:改用 ModelScope 模型 Webnovel Writer 6.2.1 项目分析 windows 10 LTSC 版 安装 Terminal autohotkey2.0 脚本运行机制 windows wsl2 安装 gentoo 的步骤 windows 10 LTSC版 打开 wsl2 autohotkey 提示词 编译安装最新版 perl rust 做到“快并且安全” 的逻辑思路 rust 和 go 语言的核心目的 用 vim 查看文件的格式和编码 throughput 和 efficient 词义 python 以字符数量分割文档 (三) python 以字符数量分割文档 (二) python 以字符数量分割文档 (一) GNU Bash 参考手册(中文版)(六) GNU Bash 参考手册(中文版)(五) GNU Bash 参考手册(中文版)(四) GNU Bash 参考手册(中文版)(三) GNU Bash 参考手册(中文版)(二) GNU Bash 参考手册(中文版)(一)
python 启动器命令 py 答惑
立体风 · 2026-08-23 · via 博客园 - 立体风

py命令是python自带的版本管理器吗?

不是。py 不是 Python 语言自带的版本管理器,准确说它是 Windows Python Launcher(Python 启动器),由 Python 官方安装程序提供,用于选择和启动不同版本的 Python 解释器

它更像一个“Python 版本选择器”,而不是像 uvpyenv 那样负责安装、管理多个 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. pypython 的关系

安装 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

总结:

pyPython 官方 Windows 启动器(Python Launcher),负责“选择哪个 Python 来运行”,不是 Python 版本管理器。

简单记:

py     = 选择 Python
uv     = 安装/管理 Python + 环境 + 包
pyenv  = 管理 Python 版本
venv   = 创建隔离环境
pip    = 安装 Python 包

对于 BGE + PyTorch 项目,py -3.11 -m venv .venv 是最稳的基础方案。