背景与痛点
在 Windows 系统上配置 Python 环境,近年来官方策略发生了明显变化。从官网下载的安装包不再是传统的 .exe 可执行文件,而是名为 python-manager-25.0.msix 的 MSIX 包,即 "Python Install Manager"。根据官方说明,传统安装器将在 Python 3.16 后停止发布,MSIX 方案将成为主流。
然而,这种新方式在实际使用中往往带来两个典型问题:
- pip 命令不可用:虽然
python -V能正常显示版本,但直接输入pip会报错。这是因为 Scripts 目录未被加入系统环境变量 Path。 - 多版本切换繁琐:默认调用的是最新版,动态切换特定版本需要额外配置。
此外,命令行中 python 和 py 命令的行为差异也常让人困惑。本文将针对这些问题提供解决方案,并介绍更优的替代方案。
命令机制解析
python vs py 命令
- python:直接调用
python.exe。依赖环境变量 PATH,谁排在前面启动谁,灵活性差,容易引发版本冲突。 - py:Windows 独有的 Python 启动器(Launcher)。不依赖 PATH,而是扫描注册表自动定位已安装的版本。
使用 py 可以灵活指定版本,例如:
# 列出当前所有已安装的 Python 版本,* 标记为当前默认版本
py --list
# 强制使用 3.13 版本运行脚本
py -3.13 xxx.py
注意,py 命令严格区分版本,目前尚无一键'动态切换全局默认版本'的命令,这要求开发者明确知晓当前使用的版本对应关系。
当通过 Python Install Manager 安装时,默认路径通常在 C:\Users\用户名\AppData\Local\Python,且会自动将 bin 文件夹添加到当前用户的 Path 环境变量中。
依赖管理工具的安装
若需安装如 uv 这样的工具,直接使用 pip 可能会遇到路径问题。推荐做法是使用 py 前缀调用模块:
py -m pip install uv
这里的 -m 参数告诉 Python 解释器去查找已安装的 pip 模块并运行它。不过,这样安装的工具通常位于特定版本的 Scripts 目录下,并未加入全局 Path,导致终端无法直接识别 uv 命令。
虽然手动添加环境变量可行,但这并非最佳实践。对于 Windows 用户,更推荐直接通过官方脚本安装 uv。
终极方案:使用 uv 管理环境
与其手动安装 Python 并处理各种路径问题,不如直接使用 uv。它不仅能管理依赖,还能自动管理 Python 版本。
安装步骤
在 PowerShell 中执行以下命令即可一键安装:
# Windows powershell -ExecutionPolicy ByPass -c "irm https://astral.sh/uv/install.ps1 | iex"
安装完成后,uv 会自动配置好环境变量,无需额外操作。
核心优势
- 系统零污染:控制面板卸载列表中不会残留 "Python 3.x" 或 "Python Launcher",保持系统整洁。
- 版本自由切换:想测试旧版?运行
uv run --python 3.8 main.py;想用新版?改为 。 会按需下载和管理版本,用完甚至可清理。

