0x80072efd错误本质是webinstall.exe联网下载组件失败,应直接改用不含“webinstall”和“embeddable”的离线安装包(如python-3.x.x-amd64.exe),断网可正常安装,彻底规避DNS、TLS、防火墙及CDN访问问题。

直接换离线安装包,别碰 webinstall.exe。这个错误不是Python装不上,而是安装器在联网下载组件时卡死了——它根本没机会走到“装Python”那步。
为什么webinstall.exe必报0x80072efd?
Windows版Python的python-3.x.x-amd64-webinstall.exe只是个“启动器”,真正安装时会调用InternetOpenUrl()去https://www.python.org/ftp/拉取core.msi、pip.msi等文件。国内多数网络环境无法稳定访问该CDN,DNS解析失败、TLS握手超时、中间设备重置连接,都会让InternetOpenUrl()直接返回0x80072efd,且不告诉你具体哪个URL挂了。
- 系统时间偏差>5分钟会导致TLS验证失败(常见于虚拟机或未同步时间的旧电脑)
-
114.114.114.114这类公共DNS对python.org域名解析经常不稳定 - 杀毒软件或企业防火墙常拦截
InternetOpenUrl()调用,连日志都不留 - LTSC版Windows或精简系统可能缺
WinHTTP关键补丁,导致网络API失效
怎么选对离线安装包?
去https://www.python.org/downloads/下载名字里**不含webinstall也不含embeddable** 的安装包:
- 正确示例:
python-3.12.3-amd64.exe(64位系统)或python-3.12.3-win32.exe(32位,已极少见) - 错误示例:
python-3.12.3-amd64-webinstall.exe(边装边下)、python-3.12.3-embed-amd64.zip(免安装压缩包) - 验证方式:断网后双击运行,能正常进入安装向导即为真离线包
如果已经点了webinstall.exe并报错?
别折腾代理或DNS——临时改这些治标不治本,且容易引发其他应用联网异常。直接删掉残留,换离线包:
立即学习“Python免费学习笔记(深入)”;
- 删除临时文件:
%TEMP%\pip-install-*.log和%TEMP%\PythonInstall*目录 - 清理注册表残留(可选):
regedit中搜索PythonCore,只删掉刚失败安装生成的空键(如3.12下无子项的键) - 重点:检查杀软是否把
python-*.exe加进了“可疑下载”隔离区,从隔离区恢复后再运行离线包
离线包装完还报0x80072efd?
说明问题不在Python安装器,而是后续动作触发了别的联网环节:
- 勾选了
Add Python to PATH但系统PATH过长(超1024字符),导致pip初始化时调用InternetOpenUrl()失败——重启终端再试 - 首次运行
pip install时被公司代理或防火墙拦截——改用国内镜像源:pip config set global.index-url https://pypi.tuna.tsinghua.edu.cn/simple - Windows Defender实时防护扫描
Scripts\pip.exe卡住——临时关闭Defender再运行pip
真正麻烦的不是选哪个包,而是意识到webinstall.exe在国内就是个伪命题:它依赖的网络路径、证书链、CDN节点,和本地网络环境根本不匹配。离线包不是备选方案,是唯一可靠路径。


















