如何解决Python安装过程中由于权限不足导致的Setup failed?

P粉602998670

P粉602998670

2026-07-26

800人浏览

原创

直接原因是安装程序未获写入c:\program files或修改注册表的权限,哪怕账户是管理员,uac也会拦截;最可靠做法是右键python-*.exe文件选择“以管理员身份运行”。

如何解决python安装过程中由于权限不足导致的setup failed?

Windows上“Setup failed”且日志提到权限或拒绝访问

直接原因是安装程序没拿到写入 C:\Program Files 或修改注册表的权限。哪怕你账户是管理员,不显式提权,UAC也会拦截关键操作。

最可靠的做法就是右键点击下载好的 python-*.exe 文件,选“以管理员身份运行”。别点两下打开,也别双击后等弹窗再点“是”——那已经晚了,部分写入动作已在低权限下失败。

  • 如果仍失败,检查是否勾选了“Add Python to PATH”:这个选项会尝试写系统级环境变量,必须管理员权限;可先取消勾选,装完再手动配
  • 安装路径别用默认 C:\Program Files\Python3x,改到 D:\Python3x 这类你有完全控制权的盘符根目录下,能绕过多数UAC限制
  • 杀毒软件(尤其是360、腾讯电脑管家)可能静默拦截注册表写入,临时禁用再试

日志里出现“Windows 7 Service Pack 1 required”或KB补丁编号

这不是权限问题,而是系统兼容性问题。Python 3.5+ 已放弃对 Windows 7 RTM(无SP1)的支持,报错里写的 KB2533623KB2533625 是VC++运行时依赖的系统更新,不是权限设置能解决的。

必须先打补丁:去微软官网搜对应编号的 .msu 文件,下载后双击安装。注意区分 x86/x64,装错架构会报错 0x80070422(服务无法启动),此时要进“服务”管理器手动启用 Windows Modules Installer 服务。

  • 补丁安装后必须重启,否则系统仍识别为旧版本
  • Win7用户别硬扛新版本,Python 3.4.10 是最后一个官方支持 Win7 RTM 的版本,可直接下载免补丁安装
  • Win10/Win11 用户极少遇到此问题,除非关闭了自动更新导致缺失累积更新

pip install 报 OSError: [WinError 5] 拒绝访问

这和安装Python本身无关,是后续用 pip 装包时权限不够。全局安装包要写入 site-packages 目录,默认在 C:\Users\XXX\AppData\Local\Programs\Python\Python3x\Lib\site-packages,但某些组织策略或OneDrive同步会锁死该路径。

Python 3.14.2
Python 3.14.2

Python 3.14.2是Python编程语言在2025年12月5日发布的稳定版本,属于3.14系列的第二个维护更新。该版本包含了18项修复,重点解决了多进程、数据类及正则表达式等模块的回归问题,并修复了CVE-2025-12084等安全漏洞。此版本标志着自由线程模式(移除GIL)正式获得官方支持,是Python发展的重要里程碑。

下载

根本解法不是总开管理员CMD,而是用隔离环境:

  • 创建虚拟环境:python -m venv myproject,然后 myproject\Scripts\activate
  • 激活后所有 pip install 都只写入 myproject\Lib\site-packages,完全无需管理员权限
  • 若坚持全局安装,确认 pip 是否指向正确解释器:where pip,避免多个Python版本混用导致权限错乱

Mac/Linux 上提示 Permission denied

macOS Catalina+ 和大多数Linux发行版默认禁止向 /usr/local 写入,sudo pip install 不是好习惯,容易污染系统Python。

优先走用户级安装:

  • pip install --user package_name,包会装进 ~/Library/Python/x.x/lib/python/site-packages(macOS)或 ~/.local/lib/python/site-packages(Linux)
  • 确保 ~/.local/bin(Linux)或 ~/Library/Python/x.x/bin(macOS)已加入 $PATH,否则命令找不到
  • Homebrew 安装的 Python(/opt/homebrew/bin/python3)自带用户级 pip,基本不会触发权限错误

真正麻烦的是系统 Python(比如 CentOS 的 /usr/bin/python3),它被包管理器锁定,强行 sudo pip 会破坏 yum/dnf 依赖,这时候只能换 conda 或 pyenv。

Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!

相关专题

更多
python打包成可执行文件
python打包成可执行文件

本专题为大家带来python打包成可执行文件相关的文章,大家可以免费的下载体验。

2023.07.20

1104

4

python能做什么
python能做什么

python能做的有:可用于开发基于控制台的应用程序、多媒体部分开发、用于开发基于Web的应用程序、使用python处理数据、系统编程等等。本专题为大家提供python相关的各种文章、以及下载和课程。

2023.07.25

2069

7

format在python中的用法
format在python中的用法

Python中的format是一种字符串格式化方法,用于将变量或值插入到字符串中的占位符位置。通过format方法,我们可以动态地构建字符串,使其包含不同值。php中文网给大家带来了相关的教程以及文章,欢迎大家前来阅读学习。

2023.07.31

1185

3

python教程
python教程

Python已成为一门网红语言,即使是在非编程开发者当中,也掀起了一股学习的热潮。本专题为大家带来python教程的相关文章,大家可以免费体验学习。

2023.08.03

8730

23

python环境变量的配置
python环境变量的配置

Python是一种流行的编程语言,被广泛用于软件开发、数据分析和科学计算等领域。在安装Python之后,我们需要配置环境变量,以便在任何位置都能够访问Python的可执行文件。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

1477

5

python eval
python eval

eval函数是Python中一个非常强大的函数,它可以将字符串作为Python代码进行执行,实现动态编程的效果。然而,由于其潜在的安全风险和性能问题,需要谨慎使用。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.04

1529

5

scratch和python区别
scratch和python区别

scratch和python的区别:1、scratch是一种专为初学者设计的图形化编程语言,python是一种文本编程语言;2、scratch使用的是基于积木的编程语法,python采用更加传统的文本编程语法等等。本专题为大家提供scratch和python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

880

5

python合并两个列表
python合并两个列表

Python是一种强大的编程语言,具有许多方便的功能和工具。在Python中,有多种方法可以合并两个列表。php中文网给大家带来了相关的教程以及文章,欢迎大家前来学习阅读。

2023.08.10

530

4

python是前端还是后端
python是前端还是后端

Python属于前端也属于后端,其灵活性和丰富的生态系统使得开发人员能够在不同的领域中灵活运用。本专题为大家提供python相关的文章、下载、课程内容,供大家免费下载体验。

2023.08.11

1110

5

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PyCharm官方快速入门指南
PyCharm官方快速入门指南

共0课时 | 0人学习

Python函数定义官方教程
Python函数定义官方教程

共0课时 | 0人学习

Python 3.14.6官方文档
Python 3.14.6官方文档

共0课时 | 0人学习