Windows 10系统无法通过pip安装Python包如何解决
故障根因
[WinError 5] Access is denied是典型的NTFS文件系统写入权限不足报错,你之前执行错误的pip upgrade命令升级时,因为普通终端权限不足,写入全局Python目录C:\Python310\的过程异常中断,破坏了目录的默认权限配置,才会导致后续所有包安装操作都触发相同报错。
修复方案(按操作成本从低到高排序)
临时快速修复:追加--user参数安装
安装包时追加--user参数,pip会把包安装到当前Windows用户的专属Python包目录,不需要写入系统级的Python安装目录,不会触发权限拦截。比如安装Pygame直接执行:
pip install pygame --user
*注意:该方式安装的第三方包仅对当前登录的Windows账号生效,其他账号使用这台设备时无法调用这些包。
长期推荐修复:管理员权限运行终端重置pip
- 关闭当前所有打开的命令行窗口(CMD、PowerShell、Windows Terminal都算)
- 在开始菜单搜索「命令提示符」或「PowerShell」,右键选中后点击「以管理员身份运行」,在弹出的UAC权限确认窗口点「是」
- 在打开的管理员终端里,先执行正确的pip升级命令,修复之前损坏的pip安装:
这里必须加python -m pip install --upgrade pippython -m前缀,避免环境变量指向错误版本的pip,这也是很多人升级pip出故障的核心原因。 - 修复完成后,直接在当前管理员终端里执行任意pip安装命令都不会再触发权限报错,比如
pip install pygame。
终极权限修复(上述方案无效时使用)
如果开了管理员终端依然报权限错误,说明C:\Python310目录的权限配置已经被完全打乱:
- 打开资源管理器,定位到C盘根目录下的
Python310文件夹 - 右键文件夹选择「属性」,切换到「安全」选项卡,点击「编辑」按钮修改权限
- 在组/用户名列表里选中你当前登录的Windows账号,在下方权限列表里勾选「完全控制」对应的「允许」复选框
- 点击「应用」等待权限递归同步到所有子文件、子文件夹,完成后重新打开命令行执行pip操作即可。
后续避坑提示
- Windows下如果把Python安装在C盘根目录、Program Files这类系统级路径,执行全局pip安装、升级操作必须使用管理员权限打开终端,否则必然会触发权限拦截
- 如果不想每次操作都切管理员权限,下次重装Python时可以勾选安装界面的
Install for me only选项,Python会自动安装到当前用户的AppData目录,不会触发系统盘权限限制。
内容的提问来源于stack exchange,提问作者Ifeanyi Idiaye
相关产品推荐
相关产品推荐

