如何在 Windows 上卸载 Python
这份指南覆盖用官方 python.org 安装器、通过 Python.Python.3.12 winget 包按用户安装的 Python 3.12。这个安装器把解释器、pip 和标准库放进一个文件夹,同时会另外装上 Python Launcher(也就是 py 命令),让多个 Python 版本可以共用它。卸载 Python 3.12 不会连带删除 Launcher,也不会动你在别处建的虚拟环境、脚本或用它装的包,需要的话先备份。
这份指南也覆盖单独实测的 Python 3.13.15 ARM64 用户范围安装,winget 包为 Python.Python.3.13,按要卸载的版本选择包与目录。
先关掉正在用 Python 的东西
Python 本身没有常驻进程或托盘图标,只在被使用时才运行。卸载前先关掉打开着的解释器、IDLE 窗口,或者激活了这个版本虚拟环境的终端。
用自带的卸载器移除应用
打开「设置 › 应用 › 已安装的应用」,找到 Python 3.12,选择卸载,或者运行:
winget uninstall --id Python.Python.3.12
这只会移除 Python 3.12 这一个解释器。Python Launcher 是列表里单独的一项,如果这台电脑上还有别的 Python 版本要用它,就留着。
实测的 3.13 安装使用下面的命令:
winget uninstall --id Python.Python.3.13 --exact
数据分别在哪里
| 位置 | 里面是什么 | 如何处理 |
|---|---|---|
%LOCALAPPDATA%\Programs\Python\Python312-arm64(文件夹名字跟着安装的版本和架构变) |
解释器、标准库,以及你用 pip 给这个版本装的所有包 | 卸载器会删掉;想保留装过的包或虚拟环境,先自己备份 |
%LOCALAPPDATA%\pip\Cache |
pip 自己的下载缓存,这台电脑上所有 Python 版本共用 | 可以删除,以后重装的包会重新下载 |
HKCU\SOFTWARE\Python\PythonCore\3.12 |
其他工具用来找到这个安装的登记信息(PEP 514) | 卸载器会删掉 |
| 开始菜单「Python 3.12」文件夹 | 指向解释器、IDLE 和文档的快捷方式 | 卸载器会删掉 |
如果这台电脑上还有别的 Python 版本,它们的文件夹、PATH 项和 site-packages 都不要动,这份指南只覆盖上面这个 3.12 安装。
实测 3.13 程序目录为 %LOCALAPPDATA%\Programs\Python\Python313-arm64,开始菜单另有 Python 3.13 文件夹,解释器目录内自己的包与环境先保存。
检查结果
卸载完成后运行下面几条只读命令:
Get-Process python,pythonw -ErrorAction SilentlyContinue
winget list --id Python.Python.3.12
Test-Path "$env:LOCALAPPDATA\Programs\Python\Python312-arm64"
Get-ItemProperty "HKCU:\SOFTWARE\Python\PythonCore\3.12\InstallPath" -ErrorAction SilentlyContinue
py --list
Get-Process没有输出,只说明未观察到匹配的 Python 进程,不能据此区分解释器版本。winget list正常完成且没有匹配,才说明包记录已经没了;列出一行,说明卸载没完成。Test-Path返回False,说明安装目录已经没了;返回True,说明那里还有文件。Get-ItemProperty返回设置值表示该项仍在,没有输出时还要确认查询没有权限或其他错误,不能只凭空输出判断已删除。py --list列出 Launcher 还认识的所有 Python 版本,3.12 应该不再出现,保留的其他版本还会显示。
3.13 查询自己的精确包与程序目录,查询正常完成且无匹配才说明登记消失,报错表示未验证,Test-Path 的 False 表示该路径不存在,True 表示还有文件。
winget list --id Python.Python.3.13 --exact
Test-Path "$env:LOCALAPPDATA\Programs\Python\Python313-arm64"
用 winget 安装时
winget uninstall 运行的是「设置 › 应用」用的同一个卸载器,删的是同一批解释器文件,它不会主动动 %LOCALAPPDATA%\pip\Cache 或 Python Launcher。
Mole 会列出什么
对按用户安装的 winget 版 Python 3.12:
- 开始菜单快捷方式「Python 3.12」默认勾选。
- 卸载登记里没写安装目录,Mole 通过 Python 自己写的 PEP 514 注册表键(
SOFTWARE\Python\PythonCore\<版本>\InstallPath)找到解释器所在的文件夹,卸载器在那里留下的东西跟着应用那一行走。 - Python Launcher 在列表里是另一个应用,卸载 Python 3.12 不会把它一起删掉。
3.13 源码实测列出程序目录、开始菜单快捷方式文件夹和使用记录,均默认勾选,厂商移除了解释器,Python Launcher 仍作为单独应用另测。
这次检查覆盖了什么
测试于 2026 年 9 月 26 日,Python 3.12.10(ARM64),通过 winget 按用户范围安装,用的是标准的 python.org 安装器,不是新的 Python Install Manager。没有测试:按机器安装、卸载时还有激活的虚拟环境,以及 pip 缓存在真实使用后的情况。
新增记录来自 2026-10-03 的源码测试,Python 3.13.15 ARM64,登记版本 3.13.15150.0,用户范围,厂商 WiX Burn 卸载器,未验证正式 Mole 包或卸载时的活动工程。
