Windows怎么用winget命令安装python

凌晨两点半
凌晨两点半
发布时间:2026-11-13| 3人浏览过
原创

详细介绍在Windows操作系统中使用官方包管理器winget安装Python的具体步骤、版本筛选方法、静默安装参数、环境变量配置以及常见别名冲突排查。

Windows怎么用winget命令安装python
题图:通过 winget 一键安装官方 Python 运行环境

在 Windows 环境下使用 winget 安装 Python,只需在 Windows 终端中运行命令 winget install --id Python.Python.3.12 -e。整个过程无需打开浏览器、寻找下载链接或手动点击图形向导,包管理器会自动从 Python 官方源拉取安装包并在后台静默完成安装与环境变量注册。

过去在 Windows 上安装 Python,多数人习惯打开浏览器访问 python.org,在下载页面翻找对应的 Windows 架构安装包,下载后再双击运行,并且必须时刻留心勾选底部的“Add python.exe to PATH”。一旦漏选,就得手动打开系统属性配置环境变量,容易带来繁琐的初始配置成本。

从 Windows 10(1809 及以上版本)和 Windows 11 开始,微软原生内置了官方包管理器 Windows Package Manager(即 winget 命令)。通过它,开发者可以用一行简明指令直接完成安装、环境注册以及日后维护,体验与 Linux 的 apt、macOS 的 Homebrew 一样高效。

Windows怎么用winget命令安装python
图 1:Windows 环境下使用 winget 安装 Python 的核心五步工作流

一、准备工作:确认当前系统的 winget 环境

winget 已经预装在绝大多数现代 Windows 系统中(属于系统内置组件“应用安装程序 / App Installer”的一部分)。在开始执行安装前,先检查系统是否能够正常调用该工具。

使用快捷键 Win + X,在弹出的系统快捷菜单中选择“终端”或“Windows PowerShell”(也可以直接在搜索栏输入 cmd 打开命令提示符)。随后运行如下版本查询命令:

winget --version
示例输出:
v1.8.1911

如果终端输出了类似 v1.x.x 的版本编号,说明当前系统的 winget 工作正常,可以直接进入下一步。若系统提示“找不到 winget 命令”,通常是因为系统未更新应用安装程序,只需打开内置的 Microsoft Store,搜索“应用安装程序”(App Installer)并点击更新,即可自动激活 winget。

二、检索与精确定位 Python 官方包

在包管理器中直接运行 winget install python 可能会匹配到多个衍生版本(例如不同小版本号、嵌入式版本或第三方发行版)。为了确保安装的是官方维护的标准 CPython 运行时,建议先执行检索,锁定明确的 Package ID。

在终端中输入检索命令:

winget search Python.Python
示例输出:
名称 ID 版本 源 ------------------------------------------------------------ Python 3.13 Python.Python.3.13 3.13.2 winget Python 3.12 Python.Python.3.12 3.12.8 winget Python 3.11 Python.Python.3.11 3.11.9 winget Python 3.10 Python.Python.3.10 3.10.11 winget

从查询结果中可以看到,Python 官方社区对不同主版本提供了独立隔离的包标识。例如 Python.Python.3.12 代表 3.12 稳定系列,Python.Python.3.13 代表 3.13 最新系列。在生产和学习环境中,通常推荐选择兼具新特性与丰富第三方库兼容性的最新稳定分支(如 3.12 或 3.13)。

Windows怎么用winget命令安装python
图 2:winget 社区清单机制与 Python 官方下载分发原理

许多初次接触 winget 的读者会关心安装包的来源是否可靠。正如上图所示,winget 仓库本身并不存放庞大的安装二进制文件,而是维护经过微软与社区审核的 YAML 格式清单(Manifest)。执行安装时,winget 会严格从清单中指定的 python.org 官方 CDN 下载由 Python 软件基金会数字签名的官方安装程序,并核对 SHA-256 哈希值,确保文件未遭篡改。

三、执行安装命令与关键参数

确定好目标版本后,执行安装的核心命令如下。这里使用了两个关键参数:--id 指定确切标识符,-e(或 --exact)要求对 ID 进行全字精准匹配,避免安装到名称相似的其他包。

winget install --id Python.Python.3.12 -e
示例输出:
已找到 Python 3.12 [Python.Python.3.12] 版本 3.12.8 此应用程序由其所有者授权给你。 Microsoft 对第三方程序包概不负责,也不向第三方程序包授予任何许可证。 下载中 https://www.python.org/ftp/python/3.12.8/python-3.12.8-amd64.exe ██████████████████████████████ 25.4 MB / 25.4 MB 已成功验证安装程序哈希 正在启动程序包安装... 已成功安装

自动化与静默安装选项

如果希望在全新装机或自动化运维脚本中一气呵成完成安装,无需弹出任何图形交互窗口,可以追加 --silent 参数:

winget install --id Python.Python.3.12 -e --silent

当加上 --silent 后,winget 会自动给底层官方安装程序传递静默开关(如 /quiet InstallAllUsers=0 PrependPath=1),自动完成环境路径写入与主程序部署。

注意:执行安装完成后,不要立即在当前原有的控制台窗口中直接运行 python 命令。因为当前正在运行的终端进程加载的是启动时的环境变量快照,必须重新打开一个新的终端窗口,系统才会加载刚注册的 PATH 路径。

四、关键排错:输入 python 弹出应用商店的处理办法

很多 Windows 用户在使用命令行安装 Python 后,常常会遇到一个令人困惑的现象:在终端输入 python,不但没有进入交互式解释器,反而自动弹出了 Windows 自带的 Microsoft Store 应用商店下载页面。这并不是安装失败,而是 Windows 的“应用执行别名”机制造成的优先级拦截。

Windows怎么用winget命令安装python
图 3:Windows 应用执行别名(App Execution Aliases)优先级冲突与解决方案

Windows 10/11 系统在用户目录的 %LOCALAPPDATA%\Microsoft\WindowsApps 下预置了名为 python.exe 和 python3.exe 的引导垫片程序。如果这个目录在环境变量 PATH 中的顺序排在真实 Python 路径的前面,或者真实的 Python 还没有被终端识别,系统就会优先执行这个别名程序,从而跳出应用商店引导弹窗。

解决方法:关闭系统自带的应用执行别名

  1. 点击 Windows“开始”菜单,打开“设置”。
  2. 依次进入“应用” → “高级应用设置”(在 Windows 10 中为“应用和功能”)。
  3. 点击“应用执行别名”(App execution aliases)。
  4. 在列表中找到名为“应用安装程序 (python.exe)”与“应用安装程序 (python3.exe)”的两个开关,将其切换为“关闭”状态。

关闭该别名后,重新打开终端,输入如下排查命令查看实际命中的二进制位置:

where.exe python
示例输出:
C:\Users\Admin\AppData\Local\Programs\Python\Python312\python.exe

此时输出结果直接指向了刚刚通过 winget 安装的真实程序目录,别名拦截问题彻底解除。

五、验证安装结果与常用验证指令

关闭原终端并重新打开一个全新的 PowerShell 或 CMD 窗口,分别验证 Python 解释器与 pip 包管理器:

python --version
pip --version
示例输出:
Python 3.12.8 pip 24.3.1 from C:\Users\Admin\AppData\Local\Programs\Python\Python312\Lib\site-packages\pip (python 3.12)

随后可以启动交互式环境进行简短的运算测试:

python
>>> print("Hello from winget installed Python!")
Hello from winget installed Python!
>>> exit()

如果输出了预期的版本号并能正常打印,说明 Python 运行时与包管理生态已经完整就绪。

六、后续维护:更新、卸载与多版本管理

使用 winget 安装 Python 的另一大优势是便于后续的统一运维与版本追踪。当 Python 官方发布了安全补丁或次要版本更新时,无需手动到官网重新下载覆盖安装。

Windows怎么用winget命令安装python
图 4:使用 winget 管理 Python 的完整生命周期速查指南

1. 检查与升级现有版本

运行 winget upgrade 可以查看系统中所有具备新版本的软件包列表。若需要对 Python 进行升级(例如从 3.12.2 升级到 3.12.8),只需输入:

winget upgrade Python.Python.3.12

2. 彻底干净卸载

如果未来需要移除该版本,同样只需一行命令即可清理注册表关联与文件目录,不会产生多余残留:

winget uninstall Python.Python.3.12

3. 多版本共存的使用建议

如果在同一台 Windows 设备上同时使用 winget 安装了 Python 3.11 和 Python 3.12,无需反复修改环境变量来切换版本。官方安装包默认会写入 py.exe(Python 启动器)。可以在终端中直接指定版本运行代码:

py -3.11 script.py   # 指定使用 Python 3.11 执行
py -3.12 script.py   # 指定使用 Python 3.12 执行

结合 python -m venv .venv 创建项目虚拟环境,可以让不同的项目依赖互不干扰,兼顾全局包管理的便利与开发环境的隔离纯净。

相关专题:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。