Windows怎么用winget命令安装python
详细介绍在Windows操作系统中使用官方包管理器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 一样高效。
一、准备工作:确认当前系统的 winget 环境
winget 已经预装在绝大多数现代 Windows 系统中(属于系统内置组件“应用安装程序 / App Installer”的一部分)。在开始执行安装前,先检查系统是否能够正常调用该工具。
使用快捷键 Win + X,在弹出的系统快捷菜单中选择“终端”或“Windows PowerShell”(也可以直接在搜索栏输入 cmd 打开命令提示符)。随后运行如下版本查询命令:
winget --version
如果终端输出了类似 v1.x.x 的版本编号,说明当前系统的 winget 工作正常,可以直接进入下一步。若系统提示“找不到 winget 命令”,通常是因为系统未更新应用安装程序,只需打开内置的 Microsoft Store,搜索“应用安装程序”(App Installer)并点击更新,即可自动激活 winget。
二、检索与精确定位 Python 官方包
在包管理器中直接运行 winget install python 可能会匹配到多个衍生版本(例如不同小版本号、嵌入式版本或第三方发行版)。为了确保安装的是官方维护的标准 CPython 运行时,建议先执行检索,锁定明确的 Package ID。
在终端中输入检索命令:
winget search Python.Python
从查询结果中可以看到,Python 官方社区对不同主版本提供了独立隔离的包标识。例如 Python.Python.3.12 代表 3.12 稳定系列,Python.Python.3.13 代表 3.13 最新系列。在生产和学习环境中,通常推荐选择兼具新特性与丰富第三方库兼容性的最新稳定分支(如 3.12 或 3.13)。
许多初次接触 winget 的读者会关心安装包的来源是否可靠。正如上图所示,winget 仓库本身并不存放庞大的安装二进制文件,而是维护经过微软与社区审核的 YAML 格式清单(Manifest)。执行安装时,winget 会严格从清单中指定的 python.org 官方 CDN 下载由 Python 软件基金会数字签名的官方安装程序,并核对 SHA-256 哈希值,确保文件未遭篡改。
三、执行安装命令与关键参数
确定好目标版本后,执行安装的核心命令如下。这里使用了两个关键参数:--id 指定确切标识符,-e(或 --exact)要求对 ID 进行全字精准匹配,避免安装到名称相似的其他包。
winget install --id Python.Python.3.12 -e
自动化与静默安装选项
如果希望在全新装机或自动化运维脚本中一气呵成完成安装,无需弹出任何图形交互窗口,可以追加 --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 10/11 系统在用户目录的 %LOCALAPPDATA%\Microsoft\WindowsApps 下预置了名为 python.exe 和 python3.exe 的引导垫片程序。如果这个目录在环境变量 PATH 中的顺序排在真实 Python 路径的前面,或者真实的 Python 还没有被终端识别,系统就会优先执行这个别名程序,从而跳出应用商店引导弹窗。
解决方法:关闭系统自带的应用执行别名
- 点击 Windows“开始”菜单,打开“设置”。
- 依次进入“应用” → “高级应用设置”(在 Windows 10 中为“应用和功能”)。
- 点击“应用执行别名”(App execution aliases)。
- 在列表中找到名为“应用安装程序 (python.exe)”与“应用安装程序 (python3.exe)”的两个开关,将其切换为“关闭”状态。
关闭该别名后,重新打开终端,输入如下排查命令查看实际命中的二进制位置:
where.exe python
此时输出结果直接指向了刚刚通过 winget 安装的真实程序目录,别名拦截问题彻底解除。
五、验证安装结果与常用验证指令
关闭原终端并重新打开一个全新的 PowerShell 或 CMD 窗口,分别验证 Python 解释器与 pip 包管理器:
python --version
pip --version
随后可以启动交互式环境进行简短的运算测试:
python
>>> print("Hello from winget installed Python!")
Hello from winget installed Python!
>>> exit()
如果输出了预期的版本号并能正常打印,说明 Python 运行时与包管理生态已经完整就绪。
六、后续维护:更新、卸载与多版本管理
使用 winget 安装 Python 的另一大优势是便于后续的统一运维与版本追踪。当 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 创建项目虚拟环境,可以让不同的项目依赖互不干扰,兼顾全局包管理的便利与开发环境的隔离纯净。
本站声明
本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。













