🏆本文收录于 《全栈 Bug 调优(实战版)》 专栏。专栏聚焦真实项目中的各类疑难 Bug,从成因剖析 → 排查路径 → 解决方案 → 预防优化全链路拆解,形成一套可复用、可沉淀的实战知识体系。无论你是初入职场的开发者,还是负责复杂项目的资深工程师,都可以在这里构建一套属于自己的「问题诊断与性能调优」方法论,助你稳步进阶、放大技术价值 。
  
📌 特别说明:
文中问题案例来源于真实生产环境与公开技术社区,并结合多位一线资深工程师与架构师的长期实践经验,经过筛选与系统化整理后输出。文中的解决方案并非唯一“标准答案”,而是兼顾可行性、可复现性与思路启发性的实践参考,供你在实际项目中灵活运用与演进。
  
欢迎你 关注、收藏并订阅本专栏,与持续更新的技术干货同行,一起让问题变资产,让经验可复制,技术跃迁,稳步向上。

📢 问题描述

0x80070643 python安装错误,是怎么回事?我搞了好久都没用,像权限啥的我都试过了,如何解决?

如下是安装时报错截图:

📣 请知悉:如下方案不保证一定适配你的问题!

  如下是针对上述问题进行专业角度剖析答疑,不喜勿喷,仅供参考:

✅️问题理解

先安慰一句:你这个错误非常常见,不是你一个人踩坑 😄

从你截图里可以看到:

  • 正在安装 Python 3.13.7 (64-bit)
  • 弹窗提示:Setup failed
  • 错误码:0x80070643 - 安装时发生严重错误
  • 右下角有一个 log file 链接(安装日志)

0x80070643Windows Installer 的通用错误码,意思是:
👉 “MSI 安装过程中出现致命错误”——不是一个明确原因,而是“装到一半挂了”。

它可能由下面几类问题触发:

  1. 旧的 Python 残留 / 安装信息损坏(最常见)
  2. Windows Installer / 系统组件(.NET、系统文件)出问题
  3. 目标安装目录没有权限 / 被占用
  4. 杀毒软件或安全软件阻拦写文件 / 写注册表
  5. 安装包损坏(下载过程中坏了,或者被安全软件拦截修改)

你截图右边已经下载了好几个 python-3.13.7-amd64.exe3.13.5 等,多次尝试都失败,这更加说明:

  • 不是单个安装包坏了的问题
  • 而更可能是 系统环境 / 旧安装残留 / 权限 / 安全软件之类的问题。

下面按“实战排错”的思路,给你一套逐步解决方案,一步一步排除 👇

✅️问题解决方案

我给你一个推荐执行顺序,你可以照着步骤来:

✅ 第 0 步:先准备一下(避免后续乱套)
  1. 备份一下 PATH 环境变量(可选但推荐)

    • Win + R → 输入 sysdm.cpl → 回车
    • “高级” → “环境变量”
    • 找到“系统变量”或“用户变量”里的 Path,点“编辑”,把里面的内容复制到一个 txt 保存一下。
    • 这样万一后面清理 Python 时删多了,可以恢复。
✅ 第 1 步:完全清理旧的 / 残留的 Python 安装

0x80070643 很多时候是因为:

之前装过某个 Python 版本,卸载不干净,注册表 / 安装信息坏掉了。

1)正常卸载能卸载的 Python

  1. 打开:设置 → 应用 → 已安装的应用(或者“应用和功能”)

  2. 搜索关键字:Python

  3. 能看到的 Python 安装,都点卸载:

    • Python 3.11.x (64-bit)
    • Python 3.10.x
    • Python 3.13.x(如果之前有残留)
    • 以及 Python Launcher 之类

2)删除残留目录

卸载后,手动检查这几个目录是否还有东西:

  • C:\Users\<你的用户名>\AppData\Local\Programs\Python\
  • C:\Program Files\Python*(有时候安装到这里)
  • C:\Program Files (x86)\Python*(32 位 Python)

如果里面还有 Python 目录,可以手动删掉(删不掉的说明有权限/占用问题,先记下来)。

3)清 PATH 里的残留(很关键)

再回到环境变量 PATH:

  • 把里面类似:

    C:\Users\<你>\AppData\Local\Programs\Python\Python313\
    C:\Users\<你>\AppData\Local\Programs\Python\Python313\Scripts\
    C:\Program Files\Python311\
    C:\Program Files\Python311\Scripts\
    

    这一类指向已经不存在的 Python 目录的条目删掉。

✅ 目标:系统里不再有任何 Python 安装和 Python PATH,回到“干净状态”。

✅ 第 2 步:修复 Windows Installer / 系统文件

如果之前系统有强制关机、蓝屏、系统更新失败等情况,Windows Installer 的组件会变得不稳定,也能导致 0x80070643。

  1. 以管理员权限打开命令行

    • 右键“开始” → Windows 终端(管理员) 或 “命令提示符(管理员)”
  2. 先跑系统文件检查:

    sfc /scannow
    

    等它跑完(可能要几分钟),如果提示修复了什么东西 → 重启电脑一次

  3. 再跑 DISM 修复组件存储:

    DISM /Online /Cleanup-Image /RestoreHealth
    

    这步时间可能更长一些,同样执行完后 再重启一次电脑

这两步可以修复很多因为系统组件损坏而导致的安装问题,尤其是 Windows Installer 相关的。

✅ 第 3 步:换一种安装方式(只为当前用户安装

默认安装时,如果勾了 Install for all users 或者进入了 C:\Program Files\,会涉及到更多权限、系统目录写入,有时容易被安全策略拦截。
我建议你先尝试一种最“温和”的安装姿势👇

  1. 新下载一个官方安装包(建议直接去官网):

    • 打开浏览器,访问:https://www.python.org/downloads/windows/
    • 下载 稳定正式版(比如 3.12.x),3.13 目前还比较新,可以先用稳定一些的版本。
  2. 在“下载”里找到安装程序:

    • 右键 → “以管理员身份运行”

    • 第一页:

      • 勾上 ✅ Add python.exe to PATH
      • 点击下面的 Customize installation
  3. 第二页(Optional Features):

    • 全部保持默认勾选即可(pip、tcl/tk、IDLE 等)
  4. 第三页(Advanced Options)重点 👇

    • 不要勾 Install for all users(这会装到 Program Files)

    • 确认安装路径类似:

      • C:\Users\<你的用户名>\AppData\Local\Programs\Python\Python312\
      • 这个路径是 用户目录,权限一般不会有问题。
    • 其他选项可以保持默认(比如 Install launcher for all users 可以勾着没事)。

  5. 然后点 Install 试一试。

很多“权限类 / 系统策略类”的安装失败,通过“只为当前用户安装 + 用户目录安装路径”就解决了。

✅ 第 4 步:关闭第三方安全软件后再试

有些杀毒 / 安全软件(QQ 管家、电脑管家、360、某些企业管控软件)会:

  • 拦截 EXE 写入系统目录
  • 阻止修改注册表、PATH
  • 以为 installer 在做“危险操作”

你可以在安装 Python 时:

  1. 暂时退出/关闭这些第三方安全软件(或切换成“信任模式 / 游戏模式”);
  2. 安装成功后再打开。

如果是公司电脑,还有可能安装了企业安全策略,这时有时必须:

  • 用 IT 管理员账号安装
  • 或者让 IT 帮你装一次
✅ 第 5 步:看一下安装日志(log file)

如果上面的步骤你都试过,还是不行,那就需要精准一点地看日志了

在报错窗口里不是有个 log file 链接吗?

  1. 点开 log file,记事本打开。

  2. 在里面搜索:Return value 3

  3. 找这行上下几十行,通常能看到具体失败原因,比如:

    • Access is denied → 还是权限问题
    • cannot write to ... → 某个目录没权限或被占用
    • Another version of this product is already installed → 有残留安装信息没清理掉
    • 某个组件注册失败
✅ 第 6 步:退一步选择 Microsoft Store / Anaconda(兜底方案)

如果你确实不想再和安装器斗智斗勇,可以考虑两条“绕过方案”:

  1. Microsoft Store 版 Python(适合轻量使用)

    • 打开 Microsoft Store,搜 Python 3.12 之类,直接安装

    • 优点:

      • 完全由 Store 管理,权限问题少
      • 安装/更新很方便
    • 缺点:

      • 某些路径略奇怪,对新手稍微绕一点
      • 某些老旧工具对 Store 版识别不太好
  2. Anaconda / Miniconda(适合做数据分析 / 科学计算)

    • 装一个 Anaconda(or Miniconda),用 conda create 管理环境
    • 中间就不需要自己安装“裸 Python”,很多工具、库一并配好了。

当然,如果你是要在 PyCharm 里搞普通开发,裸 Python 安装成功是最通用的方案,前面的步骤优先尝试。

✅️问题延伸

顺带给你几点后续建议,避免以后环境越来越乱:

  1. 建议只保留 1~2 个主 Python 版本

    • 比如:

      • 3.10:兼容老项目
      • 3.12:新项目默认
    • 版本太多,PATH、关联、注册表都容易乱。

  2. 每个项目使用虚拟环境(venv / conda env)

    • 安装好系统级 Python 后,再用:

      python -m venv .venv
      
    • 以后对每个项目的依赖(numpy、django、pytorch…)都只安装在各自虚拟环境,不会互相污染,也不太会动到系统级东西(更不容易导致类似安装错误)。

  3. 安装新版本 Python 前,先确认旧版本是不是还需要

    • 如果不需要,先 uninstall,再装新版本;
    • 这样系统里同时存在多个版本时更可控。

✅️小结

  • 0x80070643Windows Installer 的通用“致命安装错误”,不是 Python 专属,但在安装 Python 时非常常见。
  • 结合你多次安装失败、已尝试权限设置、版本很多等情况,最大嫌疑是:旧 Python 残留 + Windows 安装组件 / 权限问题。

一套推荐的处理流程:

  1. 完全卸载所有 Python → 清理安装目录 + 环境变量 PATH;

  2. sfc /scannow + DISM /Online /Cleanup-Image /RestoreHealth 修系统文件

  3. 重新下载官方稳定版本(建议 3.12.x),以管理员运行安装程序

    • 勾选 Add python.exe to PATH
    • 只为当前用户安装,装到用户目录(非 Program Files)
  4. 如仍失败:

    • 暂时关闭第三方安全软件再试
    • 打开安装日志 log file,搜索 Return value 3 看具体原因

🌹 结语 & 互动说明

希望以上分析与解决思路,能为你当前的问题提供一些有效线索或直接可用的操作路径

若你按文中步骤执行后仍未解决:

  • 不必焦虑或抱怨,这很常见——复杂问题往往由多重因素叠加引起;
  • 欢迎你将最新报错信息、关键代码片段、环境说明等补充到评论区;
  • 我会在力所能及的范围内,结合大家的反馈一起帮你继续定位 👀

💡 如果你有更优或更通用的解法:

  • 非常欢迎在评论区分享你的实践经验或改进方案;
  • 你的这份补充,可能正好帮到更多正在被类似问题困扰的同学;
  • 正所谓「赠人玫瑰,手有余香」,也算是为技术社区持续注入正向循环

🧧 文末福利:技术成长加速包 🧧

  文中部分问题来自本人项目实践,部分来自读者反馈与公开社区案例,也有少量经由全网社区与智能问答平台整理而来。

  若你尝试后仍没完全解决问题,还请多一点理解、少一点苛责——技术问题本就复杂多变,没有任何人能给出对所有场景都 100% 套用的方案。

  如果你已经找到更适合自己项目现场的做法,非常建议你沉淀成文档或教程,这不仅是对他人的帮助,更是对自己认知的再升级。

  如果你还在持续查 Bug、找方案,可以顺便逛逛我专门整理的 Bug 专栏:《全栈 Bug 调优(实战版)》
这里收录的都是在真实场景中踩过的坑,希望能帮你少走弯路,节省更多宝贵时间。

✍️ 如果这篇文章对你有一点点帮助:

  • 欢迎给 bug菌 来个一键三连:关注 + 点赞 + 收藏
  • 你的支持,是我持续输出高质量实战内容的最大动力。

同时也欢迎关注我的硬核公众号 「猿圈奇妙屋」

获取第一时间更新的技术干货、BAT 等互联网公司最新面试真题、4000G+ 技术 PDF 电子书、简历 / PPT 模板、技术文章 Markdown 模板等资料,统统免费领取
你能想到的绝大部分学习资料,我都尽量帮你准备齐全,剩下的只需要你愿意迈出那一步来拿。

🫵 Who am I?

我是 bug菌:

  • 活跃于 CSDN | 掘金 | InfoQ | 51CTO | 华为云 | 阿里云 | 腾讯云 等技术社区;
  • CSDN 博客之星 Top30、华为云多年度十佳博主、掘金多年度人气作者 Top40;
  • 掘金、InfoQ、51CTO 等平台签约及优质作者;
  • 全网粉丝累计 30w+

更多高质量技术内容及成长资料,可查看这个合集入口 👉 点击查看
硬核技术公众号 「猿圈奇妙屋」 期待你的加入,一起进阶、一起打怪升级。

- End -

Logo

有“AI”的1024 = 2048,欢迎大家加入2048 AI社区

更多推荐