PyManager:Windows 上安装 Python 的新方式

· · 科技·工程

前言

如果你在 Windows 上安装/升级过 Python,你大概率经历过这些痛苦:

Python 在 Windows 上推出全新的安装方式——PyManager(Python Install Manager)。传统的 .exe 安装包将在 Python 3.16 后被废弃,取而代之的是一个更现代、更智能的安装管理器。

:::info{open} 本文写于 2026 年 1 月,PyManager 已进入实际部署阶段。如果你还在用传统安装包,是时候了解一下了。 ::::

为什么需要 PyManager?

现有安装方式的问题

在 PyManager 之前,Windows 用户安装 Python 主要使用安装包,但是升级或者装多个版本的时候:

# 你以为你在用 3.13,实际上可能是 3.11
python --version
# Python 3.11.5  (什么?我明明装的是 3.13 啊!)
# Path 顺序问题?!

PyManager 的解决方案

PyManager 是:一个管理器管理所有版本

就像 Node.js 有 nvm,Rust 有 rustup,Ruby 有 rbenv 一样,还有 Flutter 和 fvm,Python 有了官方的版本管理工具。

安装 PyManager 后:

如何获取 PyManager

方式一:从 Microsoft Store 安装

最简单的方式。在 Windows 系统上,直接在终端输入:

python

python3

系统会自动打开 Microsoft Store,引导你安装 PyManager(以前是直接安装某个 Python 版本)

为什么 Windows 内置一个占位的 Python 启动器引导你去 Microsoft Store 安装,但是不内置别的语言?

方式二:从 python.org 下载

访问 python.org,下载 PyManager 的 MSIX 安装包,双击安装即可。

方式三:命令行安装

# 使用 winget
winget install Python.PyManager

提示:安装完成后,PyManager 会自动注册 pythonpython3pypymanager 这四个命令。

PyManager 基本使用

查看帮助

py help

这是需要记住的第一个命令。忘了怎么用?py help 救你。

安装 Python 版本

# 安装最新稳定版
py install 3

# 安装特定版本
py install 3.12

# 安装精确版本
py install 3.12.5

# 安装最新版本(包括预发布版)
py install 3.14

与传统安装包不同,PyManager 从官方索引下载 Python,速度更快,也更可靠。

查看已安装的版本

# 列出所有已安装的版本
py list

# 示例输出:
# PythonCore\3.13.1    C:\Users\你的用户名\AppData\Local\Python\PythonCore\3.13.1
# PythonCore\3.12.5    C:\Users\你的用户名\AppData\Local\Python\PythonCore\3.12.5

运行特定版本

# 使用默认版本运行
python script.py

# 指定版本运行
py -V:3.12 script.py

# 简写形式
py -3.12 script.py

更新 Python

# 更新所有已安装的版本
py install --upgrade

# 更新特定版本
py install --upgrade 3.13

卸载 Python 版本

# 卸载特定版本
py uninstall 3.12

# 清空所有版本和缓存
py uninstall --purge

示例

需要特定版本?

某些软件(尤其是 GitHub 上 AI 相关的)和一些题目可能指定 Python 版本:

# 安装指定版本
py install 3.8

# 使用指定版本运行
py -3.8 solution.py

配合虚拟环境使用?

PyManager 与 venv 完美兼容:

# 使用特定版本创建虚拟环境
py -V:3.12 -m venv .venv

# 激活虚拟环境
.\.venv\Scripts\Activate

# 激活后,python 命令自动指向虚拟环境
python --version  # 3.12.x

激活虚拟环境后,python 命令会自动指向虚拟环境中的 Python,而不是 PyManager 的版本选择逻辑。这和以前的行为完全一致。

离线环境?

你可以提前下载好:

# 在有网络的电脑上下载安装包
py install --download D:\python_packages 3.12

# 在离线电脑上安装
py install --source D:\python_packages\index.json 3.12

其他用法

查看可用版本

想知道有哪些版本可以安装?

# 查看在线索引中的所有版本
py list --online

安装带调试符号的版本

如果你需要调试 Python 解释器本身(比如分析 C 扩展的问题),可以安装 PythonTest 版本(但是一般人都不需要吧):

# 安装带测试套件和调试符号的版本
py install PythonTest\3.13

# 使用这个版本
py -V:PythonTest\3.13 script.py

配置默认版本

如果你希望 python 命令默认使用某个版本,可以通过配置文件设置:

配置文件位置:%AppData%\Python\PyManager.json

{
    "default": "3.12"
}

提取便携版(类似嵌入式包)

如果你需要一个不注册的、便携式的 Python(比如打包进你的程序):

py install --target D:\my_embedded_python 3.12

这会把 Python 解释器提取到指定目录,不会创建任何快捷方式或注册表项。

常见问题

已经装了传统安装包,会冲突吗?

PyManager 不会覆盖已有的 Python 安装。如果你想完全迁移到 PyManager,建议先卸载旧版本。

Q: py 命令和以前的 py.exe 启动器有什么区别?

PyManager 的 py 命令兼容旧的 py.exe 启动器的所有功能,同时增加了 installuninstalllist 等管理子命令。

Q: 安装的 Python 在哪里?

默认安装路径:%LocalAppData%\Python\PythonCore\<版本号>\

例如:C:\Users\你的用户名\AppData\Local\Python\PythonCore\3.13.1\

Q: pip 怎么用?

和以前一样:

# 使用默认版本的 pip
python -m pip install numpy

# 指定版本
py -3.12 -m pip install numpy

注意:PyManager 不再提供全局的 pip 命令。可能要使用 python -m pip 的方式。

与其他工具的对比

你可能听说过 pyenv、conda、uv 这些工具,它们和 PyManager 有什么区别?

迁移指南

如果你之前用的是传统安装包,这里是迁移步骤:

  1. 卸载旧版本(可选但推荐)

    • 打开"设置 → 应用 → 已安装的应用"
    • 找到所有 Python 版本并卸载
    • 找到 Python Launcher 并卸载
  2. 安装 PyManager

    • 从 python.org 下载并安装
  3. 安装需要的 Python 版本

    py install 3.12
    py install 3.13
  4. 验证

    python --version
    py list

时间线

根据 PEP 773 的计划:

也就是说,还有大约 1 年的缓冲期。

总结

PyManager 让你可以:

现在就试试吧!

参考资料

::::info[AI使用说明]{open} 使用 DeepSeek 优化文章后半段表述。 ::::