使用Python3.6以管理员身份安装pip时遇PermissionError: [WinError 5]的疑问
解决Python 3.6 pip更新时的PermissionError: [WinError 5]问题
嘿,这个权限问题我太熟了!先直接给你答案:是的,使用虚拟环境是解决这个问题的绝佳方案,甚至是我最推荐的长期解决方案。下面给你详细解释原因和操作步骤,还有其他临时办法可选。
为什么会触发这个权限错误?
你的Python 3.6装在系统级的Windows文件夹里,这个目录默认受系统保护,普通用户账号没有修改其中文件的权限。而更新pip需要替换Python安装目录下的pip相关文件,自然就会弹出"Access is denied"的提示。
虚拟环境到底好在哪?
- 虚拟环境是完全独立于系统Python的隔离空间,所有依赖包(包括pip本身)都会安装在你用户目录下的文件夹里——这里你完全有权限操作,再也不会碰到权限问题
- 能避免不同项目之间的依赖版本冲突,比如A项目需要pip 20.x,B项目需要pip 21.x,虚拟环境可以分别满足,不会互相干扰
用虚拟环境更新pip的步骤
- 创建虚拟环境:打开命令提示符(CMD),运行以下命令(
myenv是你给虚拟环境起的名字,随便改):python -m venv myenv - 激活虚拟环境:执行激活脚本,激活后命令行开头会出现
(myenv)的标识,说明你已经进入隔离环境了:myenv\Scripts\activate.bat - 更新pip:现在直接运行更新命令,完全不会有权限问题:
python -m pip install --upgrade pip
如果你不想用虚拟环境(临时方案)
要是你只是临时需要更新系统级的pip,可以试试这个办法:
- 右键点击命令提示符,选择以管理员身份运行,然后再执行
python -m pip install --upgrade pip——管理员权限能让你修改Windows文件夹里的文件 - 不过这个方法我不推荐长期用,因为修改系统级Python环境很容易搞乱依赖,导致其他工具出问题
内容的提问来源于stack exchange,提问作者E Jay
相关产品推荐
相关产品推荐

