核心问题
在 Windows 环境下安装 Python,最近官网推荐的方式发生了变化。不再直接下载传统的 .exe 安装包,而是转向了 python-manager-25.0.msix(Python Install Manager)。根据官方说明,传统可执行文件将在 Python 3.16 之后停止发布,Install Manager 将成为主流方案。
虽然这是未来的趋势,但实际体验中可能会遇到几个痛点:
- pip 命令不可用:运行
python -V正常,但输入pip却报错。通常是因为 Scripts 目录未加入系统环境变量 Path。 - 多版本切换麻烦:默认调用的是最新版,如何动态切换不同版本的 Python 成了刚需。
- py 与 python 的区别:命令行里
python -V和py -V输出一致,两者的关系及适用场景需要厘清。
本文将针对这些问题给出解决方案,并探讨更优的替代方案。
基础概念解析
Python 与 Py 命令的区别
- python:直接调用
python.exe。依赖环境变量 PATH,谁在前面启动谁,容易因路径配置不当导致版本冲突。 - py:Windows 独有的 Python 启动器。它不依赖 PATH,而是扫描注册表自动定位。
py 命令更加灵活,支持自动启动最新版或指定版本:
# 列举当前已安装的 Python 版本,* 标记为当前默认版本
py --list
# 使用 3.13 版本运行脚本
py -3.13 xxx.py
可以看出 py 严格区分版本,且目前尚无一键动态切换默认版本的命令,这要求开发者明确知道命令与版本的对应关系。
此外,通过 Python Install Manager 安装时,默认路径通常在 C:\Users\你的用户名\AppData\Local\Python,并且会自动将 bin 文件夹添加到当前用户的 Path 环境变量中。
依赖管理:从 Pip 到 Uv
假设我们需要安装 uv 工具,如果使用传统方式,命令如下:
py -m pip install uv
这里的 -m 参数告诉 Python 解释器去已安装的库中寻找 pip 模块并运行它。相比直接安装指定版本,这里增加了前缀。
安装完成后,直接在终端输入 uv 可能会提示找不到命令。这是因为 uv 被安装到了当前 Python 环境的 Scripts 目录下,而该目录并未包含在系统 Path 中。
如果指定版本安装:
py -3.13 -m pip install uv
同样存在路径问题。虽然可以手动添加环境变量,但这并不是最佳实践。
为什么推荐 Uv
在 Windows 上管理 Python 环境,最推荐的方案其实是绕过传统安装,直接使用 uv。
# PowerShell 执行策略允许时
#ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
通过上述命令安装后,uv 会自动处理环境变量,无需额外配置即可用于依赖管理和虚拟环境创建。
对于大多数 Windows 用户,这可能意味着你甚至不需要手动安装 Python。只安装 uv 有以下优势:
- 系统零污染:控制面板卸载列表中不会残留 "Python 3.x" 或 "Python Launcher"。

