Windows 上删不干净的 Python 注册表项位于 HKEY_CURRENT_USER\Software\Python\PythonCore 和 HKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCore(64 位系统下 32 位 Python 可能在 WOW6432Node 下),需手动清理;同时检查并删除 PATH 中残留的用户级 Python 路径及 %APPDATA%\Python\ 下的 user-site 包。
Windows 上删不干净的 Python 注册表项在哪里
卸载 Python 后,
命令还能用、IDE 仍能识别旧路径、甚至新安装的 Python 被“覆盖”成旧版本——八成是注册表里还留着
或
的残留。这些键值不会被官方卸载器清理,尤其当你手动装过多个版本(比如
和
混装)时更常见。
关键位置只有两个:
—— 用户级安装(如用普通用户权限运行的 MSI)写在这里
—— 管理员权限安装写在这里(64 位系统下注意:32 位 Python 可能落在
)
别碰
下的
类,除非你确定要重置所有 .py 文件关联;它通常不影响命令行行为。
PATH 环境变量里藏得最深的 Python 路径
控制面板里删了程序,但
里还挂着
这种路径,会导致终端一敲
就启动旧解释器。这种路径往往不在“系统变量”里,而是混在“用户变量”的
中,或者被某些 IDE(如 VS Code 的
)、包管理器(如
的
配置)偷偷缓存。
立即学习
“
Python免费学习笔记(深入)
”;
检查和清理方法:
Python 3.14.3
微软官方的 Python 扩展,是 VS Code 安装量最高的扩展(209M+)。集成 IntelliSense(通过 Pylance)、调试(通过 Python Debugger)、代码检查、格式化、重构和单元测试等功能。支持 Jupyter Notebook、虚拟环境管理和多 Python 版本切换。
下载
在 CMD 或 PowerShell 里运行
,列出所有可执行文件路径,逐个确认是否属于已卸载版本
运行
(CMD)或
(PowerShell),复制结果到文本编辑器,搜索
、
、
、
重点删掉形如
、
的条目(这些是用户级安装或 pip user 安装留下的)
pip install --user 生成的 site-packages 怎么清
即使 Python 解释器本身删了,
装的包还会留在
(路径中的
会随版本变)。下次装新 Python,只要没重装 pip 或没改默认 user-site,
时仍可能从这里加载旧模块,导致版本冲突或
找不到新特性。
安全清理方式:
先查当前 user-site 路径:
(注意:这个命令必须在你想清理的旧 Python 环境下运行;如果旧环境已不可用,就直接去
下按版本号文件夹手动删)
删之前建议备份:
(比直接删更可控)
别用
清 user 包——旧 pip 可能已失效,且它不会删空目录,残留
或
文件仍可能干扰导入
macOS / Linux 用户其实不用操心注册表,但要注意 pyenv 和 shell 配置
没有注册表,但问题换了个样子:如果你用过
、
或手动改过
里的
,卸载某个 Python 版本后,
还指向
是因为 shell 缓存或 alias 没清。
必须检查三处:
shell 初始化文件:
、
、
中是否有硬编码的
或
相关行
运行
(不是
),看是否是 alias 或 function;如果是,用
或删对应配置
列出的版本只是符号链接,真正删干净要
,再
(以防 pyenv 卸载失败)
最后提醒一句:Windows 上用第三方卸载工具(如 Revo Uninstaller)扫注册表风险很高,容易误删其他软件依赖的 Python 键值;手动删
是唯一稳妥路径。
pythonPythonCorePythonPathPython 3.9Python 3.11HKEY_CURRENT_USER\Software\Python\PythonCoreHKEY_LOCAL_MACHINE\SOFTWARE\Python\PythonCoreSOFTWARE\WOW6432Node\Python\PythonCoreHKEY_CLASSES_ROOTPython.FilePATHC:\Users\Alice\AppData\Local\Programs\Python\Python39-32\pythonPATHpython.defaultInterpreterPathpiptargetwhere pythonecho %PATH%$env:PATHPythonpythonAppDataLocal\ProgramsC:\Users\*\AppData\Local\Programs\Python\*C:\Users\*\AppData\Roaming\Python\*pip install --user%APPDATA%\Python\Python39\site-packages\Python39importImportErrorpython -m site --user-site%APPDATA%\Python\robocopy "%APPDATA%\Python\Python39" "C:\backup\python39-user" /E /COPYALLpip uninstall.dist-info.pthpyenvasdf~/.bashrcPATHwhich python~/.pyenv/versions/3.9.16/bin/python~/.zshrc~/.bash_profile~/.profileexport PATH=".../python3.9/bin:$PATH"pyenv inittype pythonwhichunalias pythonpyenv versionspyenv uninstall 3.9.16rm -rf ~/.pyenv/versions/3.9.16PythonCore