【发布时间】:2020-02-25 21:40:10
【问题描述】:
在 Windows 上,如果您尝试使用 pip 升级自身,在 virtualenv 中,您可能会收到一个神秘的“访问被拒绝”错误。例如:
D:\scratch\> C:\Program Files\Python\3.7.4\x64\python.exe -m venv D:\scratch\my-venv
D:\scratch\> D:\scratch\my-venv\Scripts\activate
(my-venv) D:\scratch\> pip install --upgrade pip
Collecting pip
Downloading pip-19.3.1-py2.py3-none-any.whl (1.4MB)
Installing collected packages: pip
Found existing installation: pip 19.0.3
Uninstalling pip-19.0.3:
Could not install packages due to an EnvironmentError:
[WinError 5] Access is denied: 'd:\\scratch\\my-venv\\scripts\\pip.exe'
Consider using the `--user` option or check the permissions.
无论命令提示符是否具有管理权限,都会发生这种情况。
我们知道我们对d:\scratch\my-venv 中的所有内容都有写访问权限,因为我们只是使用初始python -m venv 命令创建了它。使用--user 选项的建议没有帮助,因为我们想升级 pip 的版本在 virtualenv 中,而--user 不会这样做。
可能出了什么问题,在 Windows 上的 virtualenv 中升级 pip 的正确方法是什么?
【问题讨论】:
-
你试过运行管理员命令提示符吗?
-
@EcSync 是的,无论命令提示符是否提升,都会发生完全相同的事情。
-
@phd 很好,但早期的问答在多次搜索中完全失败,而且它还吸引了错误的答案(在我正在谈论的场景中,管理权限绝对没有帮助) .我写这个是为了解决这个问题的谷歌果汁,基本上。
标签: python windows pip virtualenv