Windows上的pip安装访问被拒绝


110

我试图运行pip install mitmproxy在Windows,但我不断收到拒绝访问,甚至cmdPowerShell使用Run as Administrator选项。

WindowsError: [Error 5] Access is denied: 'c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u\\cryptography-0.9.1\\.eggs\\cffi-1.1.2-py2.7-win-amd64.egg\\_cffi_backend.pyd'

我该如何工作?


Answers:


139

如果是Windows,请在cmd中尝试使用python可执行文件运行pip install

例如

python -m pip install mitmproxy

这应该工作,至少对其他软件包安装来说对我有用。


6
无论出于何种原因,临时文件的权限都不足以完全控制我的用户。走这条路python -m就有所不同。
杰森·邓克伯格2016年

2
我们知道为什么这样做吗?而不是通过powershell吗?
Big Money

66

通过以下方式更改Python安装文件夹的安全权限:

  1. 打开一个Python shell
  2. 转到任务管理器
  3. 查找python进程
  4. 右键单击并打开位置
  5. 该文件夹将在资源管理器中打开,进入目录
  6. 右键单击该文件夹,然后选择属性
  7. 点击安全标签,然后点击“编辑”
  8. 添加所有人,并授予他们读取和写入的权限。
  9. 保存更改

如果您cmd以管理员身份打开;那么您可以执行以下操作:

如果您的中设置了Python PATH,则:

python -m pip install mitmproxy

3
我必须对所有应用程序包和用户都执行此操作,但是随后它起作用了。
编年史

1
工作完美。万分感谢!
Sudipto Shome

3
进行类似工作的替代方法:1)安装Linux 2)sudo pip install foo
Nearoo,2017年

1
@Chronicle您是否真的允许所有人阅读和写入用户个人资料?如果是的话,这是一个非常糟糕的主意(非常糟糕)。
David FerenczyRogožan17年

@Richard如何添加对Python目录的读写权限可以解决用户temp目录中的权限被拒绝的问题?我会说这是执行的方式pippython -m pip而不是pip像@nayak所建议的那样)有所帮助,之前的那9个步骤很可能无关紧要(因为这实际上没有任何意义)。
David FerenczyRogožan

27

我个人发现,以管理员cmd身份打开然后运行 似乎可以解决我的问题。 python -m pip install mitproxy

注意:-我通过以下方式安装了pythonchocolatey


你救了我的一天,兄弟!
Maulik Dodia

1
如果您cmd以管理员身份运行,则应该能够正常进行pip install [package]。反正为我工作。
EliSquared

14

以前的答案中未涉及的另一件事,尽管以admin身份运行,但通常会在Windows上引起问题,并且使我无法安装某些软件包,如果有另一个程序使用了某些文件,则会得到相同的权限被拒绝错误。 (要么pip install)尝试访问。这是Windows真正愚蠢的“功能”,它会多次弹出,例如在尝试移动某些文件时。

此外,我不知道如何找出哪个程序锁定了特定文件,因此最简单的方法是在开始任何操作之前,特别是在运行例如Spyder或任何其他基于Python的软件之前,重新引导并进行安装。您也可以尝试关闭所有程序,但是要知道哪个程序实际保存一个文件可能很棘手。例如,对于一个目录,在该目录中打开一个Explorer窗口就足够了。


是的,为我做了把戏!关闭三项工作中的两项后,我同时在Git Bash,Pycharm Terminal和Windows Terminal中工作。
卡波

10

使用“以管理员身份运行”打开cmd并执行命令pip install mitmproxy。它将安装它。


10

因为,我是通过anaconda Prompt安装的。在我的情况下,它甚至都无法使用python -m pip install然后,我添加了这个

python -m pip install <package_name> --user

这个对我有用。

喜欢: python -m pip install "numpy-1.15.4+mkl-cp36-cp36m-win_amd64.whl" --user

请注意,双引号不是必需的,您可以提供要安装的软件包名称。

另一个您应该尝试以“以管理员身份运行”身份运行命令提示符,然后尝试pip安装。它应该工作。


这对于我在学校安装python软件包(在本例中为symp)很有用。谢谢!
JDG

没有系统管理员权限时的最佳解决方案。
Ajay Sharma

5

尝试授予完全控制python文件夹的权限。

找到python根目录->右键单击->属性->安全->编辑->授予用户完全控制权限->是并等待过程完成。

这个对我有用。


3

尝试c:\\users\\bruno\\appdata\\local\\temp\\easy_install-0fme6u手动删除文件夹,然后重试pip命令。


谢谢你 一些临时的pip文件阻止了安装。
Eok

3

打开命令提示符,因为Administrator仅在不使用Python可执行文件的情况下为我工作。右键单击命令提示符快捷方式,然后选择“以管理员身份运行”。然后运行以下命令。

pip install Django

对我来说也一样-它只需要以管理员身份运行cmd。
Charidimos

3

在我的情况下,原因是打开了一个Jupyter笔记本,该笔记本正在导入相关的库。根本原因似乎是Windows错误,原因是该文件处于打开状态/正在使用中(另请参见@Robert的回答以及有关重新启动的建议)。

所以要验证的另一件事是没有其他python进程在运行。

对我来说,关闭笔记本服务器可以解决此问题。


2
  1. 以管理员身份打开命令提示符。

  2. 要安装任何Python软件包,请使用包括以下命令--user

pip install --ignore-installed --upgrade --user <packagename>


1

当其他所有方法均失败时,请尝试退出您的IDE。我有很多情况都是PyCharm造成的。退出PyCharm之后,我终于能够从命令行安装我的软件包。另外,您也可以通过PyCharm本身在设置->项目:xxx->项目解释器->中进行安装+


1
在关闭Spyder之前,我遇到了同样的问题
atm

0

以管理员身份运行cmd.exe,然后键入:

python -m pip install

0

我遇到了类似的问题。但是错误报告是关于

[SSL: TLSV1_ALERT_ACCESS_DENIED] tlsv1 alert access denied (_ssl.c:777)

首先,我尝试了此https://python-forum.io/Thread-All-pip-install-attempts-are-met-with-SSL-error#pid_28035,但似乎无法解决我的问题,仍然重复同样的问题。

其次,如果您在商用计算机上工作,通常它可能存在一个Web内容过滤器(但是我可以直接通过浏览器访问 https://pypi.python.org)。并通过添加代理服务器来解决此问题。

对于Windows,请Internet properties通过IE或Chrome或其他方式打开,然后设置有效的代理地址和端口,这样就可以解决我的问题

或者只是添加该选项pip --proxy [proxy-address]:port install mitmproxy。但是在通过pypi安装时,您始终需要添加此选项。

以上两种解决方案是您需要的替代方案。


0

就我而言,它甚至无法与 python -m pip install

我所做的是,以管理员身份通过cmd:

PsExec.exe -i -s -d cmd.exe

为了产生SYSTEM cmd,然后 pip install mitmproxy

;)


-1

只需关闭所有打开的python文件。并尝试以管理员身份运行。会的。

例如

pip install numpy
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.