解决Python 3.6安装时提示“Access is denied”权限错误

沈知远
沈知远
发布时间:2026-11-10| 10人浏览过
原创

详细讲解在Windows系统下安装Python 3.6出现“Access is denied”(拒绝访问)权限错误的根本原因,提供以管理员提权、自定义安装路径、清理残留句柄和配置权限的完整排查与解决步骤。

技术排错 错误码 0x80070005 适用环境:Windows 7 / 8 / 10 / 11 组件版本:Python 3.6.x (32-bit / 64-bit)
解决Python 3.6安装时提示“Access is denied”权限错误
在 Windows 系统中安装 Python 3.6 时,如果安装向导在进度条刚启动或即将结束时突然中断,并弹出包含“Access is denied”(拒绝访问,常见错误代码 0x80070005)的提示框,这通常是因为安装程序在向系统保护目录、Windows 注册表全局项或临时缓存目录写入文件时,被操作系统的安全权限策略阻断。解决这一问题并不需要重装系统或反复重新下载安装包,核心解决路径主要有三条:优先右键使用管理员身份运行安装程序以完成提权;若受限于账户权限,则通过自定义安装(Customize installation)将安装范围切换为当前用户专属目录;排查后台残留进程与临时文件夹写入权限。

一、为什么 Python 3.6 会触发 “Access is denied”

一个值得注意的细节是,许多读者在个人电脑上登录的账户本身就属于 Administrators(管理员组),但在直接双击 python-3.6.8-amd64.exe 时,系统依然会毫不客气地弹出权限拒绝警告。这是由 Windows 自 Vista 以来引入的用户账户控制(UAC,User Account Control)机制决定的。在默认状态下,即使用户拥有管理员身份,所启动的普通交互进程也仅仅携带“标准用户访问令牌(Standard User Token)”。

Python 3.6 的安装程序在执行时,主要涉及四个关键写入位置:系统保护盘目录(默认是 C:\Program Files\Python36)、系统临时文件夹(%LOCALAPPDATA%\Temp)、注册表系统分支(HKEY_LOCAL_MACHINE\SOFTWARE\Python)以及系统级环境变量。一旦用户勾选了“Install for all users”或安装程序试图写入受保护目录,NTFS 访问控制列表(ACL)就会截断没有经过提权的写入请求,立即抛出“Access is denied”或底层错误代码 0x80070005。

解决Python 3.6安装时提示“Access is denied”权限错误
图1:Python 3.6 安装程序与 Windows 权限拦截机制解析

除了常规的 UAC 令牌限制,还有两个极易被忽视的引发因素:第一是旧版本或未完全卸载的 Python 残留。如果之前运行过的 python.exe 在后台仍有子进程驻留,或者某些依赖 Python 的本地服务(如本地开发工具后台进程)锁定了相关 DLL 文件,安装程序在尝试覆盖时也会直接收到操作系统的拒绝访问通知;第二是第三方安全卫士或防病毒软件的实时文件监控机制,将安装程序在 %TEMP% 目录下释放的批处理与动态链接库误判为恶意脚本进行拦截。

二、标准解决步骤:四级递进排查法

处理该报错时,应当按照由浅入深、先易后难的顺序逐项排查,确保每次操作都有明确的针对性,避免误改注册表或系统安全设置。

解决Python 3.6安装时提示“Access is denied”权限错误
图2:解决 Python 3.6 安装权限错误的四级递进排查步骤

步骤 1:使用“以管理员身份运行”启动安装包

这是最直接也是能够解决约 70% 权限阻断场景的做法。具体操作步骤如下:

  1. 在文件资源管理器中找到下载的 Python 3.6 安装程序(例如 python-3.6.8-amd64.exe)。
  2. 鼠标右键单击该可执行文件,在弹出的右键快捷菜单中点击“以管理员身份运行(Run as administrator)”。
  3. 在系统弹出的“用户账户控制”对话框中,核对发布者信息,点击“是”确认提权。
  4. 在安装界面下方务必勾选“Add Python 3.6 to PATH”,然后点击“Install Now”开始安装。

右键提权之后,安装进程将继承包含完全管理权限的完整安全令牌,从而顺利获得对 C:\Program Files 和 HKEY_LOCAL_MACHINE 的完全控制权限。

步骤 2:通过“Customize installation”更改安装范围与路径

如果在办公室、学校机房或受限电脑上,当前登录账户没有管理员提权密码,或者提权后依然提示拒绝访问,说明该计算机的系统盘根目录或 Program Files 受到了严格的企业组策略限制。此时最稳妥的做法是将安装路径改写到当前用户的私有目录下:

  1. 启动安装程序,在首页不要直接点击“Install Now”,而是点击下方的“Customize installation”(自定义安装)。
  2. 在“Optional Features”(可选特性)界面保持默认全选,点击“Next”进入高级选项。
  3. 在“Advanced Options”界面中,找到并取消勾选“Install for all users”(为所有用户安装)。此时下方的“Customize install location”(安装路径)会自动从受保护的 C:\Program Files\Python36 切换为当前用户专属的 AppData 路径:
    C:\Users\<用户名>\AppData\Local\Programs\Python\Python36
  4. 如果希望路径更加简短,也可以手动将其指定为非系统盘目录,例如 D:\Python36 或用户主目录 C:\Users\<用户名>\Python36。
  5. 确认勾选“Add Python to environment variables”后,点击“Install”。

当前用户目录(AppData 或用户个人文件夹)本身就归属于当前登录账户,操作系统不会触发高权限目录保护,因此可以彻底绕过系统的全局写权限校验。

注意事项:自定义路径时,请务必保证安装路径中不要包含中文字符或特殊符号。虽然路径权限开放,但 Python 3.6 对包含非 ASCII 字符的路径解析可能在后续调用 C 扩展模块时产生偶发异常。

步骤 3:结束后台残留进程并清理临时缓存

当提权或改写路径后,进度条走到最后一步仍报错,大概率是之前安装失败的孤儿进程或临时解压文件仍在占用句柄。可按以下操作释放文件锁:

  1. 按下快捷键 Ctrl + Shift + Esc 呼出 Windows 任务管理器。
  2. 在“进程”或“详细信息”标签页中,查找是否存在 python.exe、pythonw.exe 或 setup.exe 进程。如有,右键点击并选择“结束任务”。
  3. 按下 Win + R 打开运行窗口,输入 %TEMP% 并回车,系统将直接打开当前用户的临时文件夹。
  4. 选中该文件夹中所有与 Python 相关的临时解压文件与 .log 日志文件并删除。如遇到个别文件提示正在使用,可选择跳过。

步骤 4:排查杀毒软件与文件夹安全权限继承

在企业终端或安装有第三方安全管理软件的设备中,安全软件的“防脚本注入”功能可能会误杀安装程序调用 ensurepip.exe 的解压动作。在开始安装前,可暂时在任务栏右下角右键安全防护软件,选择“暂停实时防护 10 分钟”,待安装完成后再行开启。

如果确定要安装到某个独立文件夹(例如 D:\Python36),可提前在文件资源管理器中新建该文件夹,右键选择“属性”→“安全”选项卡,检查当前登录的用户组是否具有“完全控制”和“修改”权限。如未开启,点击“编辑”勾选允许完全控制即可。

三、关键机制对比:全员安装与当前用户安装

在 Python 安装界面中,“Install for all users”这一复选框是导致绝大部分初学者遭遇“Access is denied”的根源。许多人下意识认为全员安装更好,但两者在权限模型、环境变量和后期依赖安装上存在本质区别:

解决Python 3.6安装时提示“Access is denied”权限错误
图3:Python 3.6 两种安装范围(Scope)的权限与路径对比
特性指标 全员安装 (Install for all users) 当前用户专属 (Just for me)
安装目标目录 C:\Program Files\Python36 %LOCALAPPDATA%\Programs\Python\Python36
安装时权限门槛 强制要求 Administrators 完全写入提权 标准用户即可写入,无需提权
环境变量 PATH 写入系统变量,影响计算机所有账户 写入用户变量,仅影响当前登录账户
后续 pip 安装库 普通命令行下可能再次提示拒绝访问 直接拥有读写权限,无权限报错
推荐使用场景 公用服务器、多用户教学机房 个人开发电脑、常规学习与项目测试

对于绝大多数开发者和学习者而言,选择“当前用户安装”不仅能在初次安装时有效避免拒绝访问错误,还能在日后使用 pip install 安装第三方扩展库时,避免因 site-packages 目录受系统保护而再次弹窗报错。

四、验证安装结果与运行状态确认

当安装向导最后显示“Setup was successful”后,需要立即通过命令行检验核心组件是否已经正常就位,以及 PATH 环境变量是否生效。

解决Python 3.6安装时提示“Access is denied”权限错误
图4:故障排除决策树与安装成功结果校验矩阵

按快捷键 Win + R 打开运行窗口,输入 cmd 回车启动命令提示符。在终端中依次执行以下测试指令:

1. 检验 Python 解释器与主版本

命令提示符 (Command Prompt)
>python --version
示例输出:
Python 3.6.8

如果返回的正是对应的 3.6.x 版本号,表明主执行文件已被操作系统正确识别,且环境变量检索路径配置无误。

2. 检验交互式环境执行

命令提示符 (Command Prompt)
>python -c "import sys; print(sys.executable)"
示例输出(单用户安装):
C:\Users\Developer\AppData\Local\Programs\Python\Python36\python.exe

通过 sys.executable 可以精确核查当前调用的解释器物理路径,确认运行的是刚安装的目标路径,而非系统遗留的其他版本。

3. 检验 pip 包管理器及其权限状态

命令提示符 (Command Prompt)
>pip --version
示例输出:
pip 18.1 from C:\Users\Developer\AppData\Local\Programs\Python\Python36\lib\site-packages\pip (python 3.6)

如果执行 pip --version 能够正常打印安装位置且没有提示任何权限告警,即可尝试执行基础库安装,例如 pip install wheel。至此,从安装被拒到环境就绪的整个问题链路已完全闭环解决。

相关专题:

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。