【问题标题】:pip install access denied on Windows在 Windows 上 pip 安装访问被拒绝
【发布时间】:2015-09-19 06:47:55
【问题描述】:

我正在尝试在 Windows 上运行 pip install mitmproxy,但即使使用 Run as Administrator 选项的 cmdPowerShell,我仍然无法访问。

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'

我怎样才能做到这一点?

【问题讨论】:

标签: python windows pip access-denied


【解决方案1】:

在 windows 的情况下,在 cmd 中尝试使用 python 可执行文件运行 pip install

例如

python -m pip install mitmproxy

这应该可以,至少它对我的其他软件包安装有用。

【讨论】:

  • 无论出于何种原因,临时文件的权限都不能完全控制我的用户。通过python -m 的这条路线有所不同。
  • 我们知道为什么这行得通吗?而不是通过powershell?
  • 是的,@BigMoney 我非常怀疑为什么它对这些用户有效:他们被授予运行 Python 的权利,但没有运行 PIP 的权利。使用 Python,您可以传递 -m 标志来指定要运行的 Python 模块。 PIP 是一个 Python 模块,因此可以通过这种方式传递。但这适用于任何可以直接运行的 Python 模块。例如,尝试python -m http.server 8000,您将看到您现在在本地计算机上的端口 8000 上运行了一个 HTTP 服务器。
【解决方案2】:

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

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

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

如果你的PATH中设置了Python,那么:

python -m pip install mitmproxy

【讨论】:

  • 我必须为所有应用程序包和用户都这样做,但后来它奏效了。
  • 完美运行。非常感谢!
  • 类似努力的替代路线:1) 安装 Linux 2) sudo pip install foo
  • @Chronicle 你真的让每个人都可以读写用户配置文件吗?如果是,这是一个非常糟糕的主意(非常糟糕)。
  • @Richard 在 Python 的目录中添加读写权限如何解决用户temp 目录中权限被拒绝的问题?我想说这是执行pippython -m pip 而不是@nayak 建议的pip)的方式有什么帮助,之前的这9个步骤很可能无关紧要(因为它真的没有任何意义)。
【解决方案3】:

就个人而言,我发现通过以 admin 身份打开 cmd 然后运行 python -m pip install mitproxy 似乎解决了我的问题。

注意:-我是通过chocolatey安装python的

【讨论】:

  • 你拯救了我的一天,兄弟!
  • 如果您以管理员身份运行cmd,您应该能够正常运行pip install [package]。无论如何都为我工作。
【解决方案4】:

以前的答案中未涵盖的另一件事是,尽管以管理员身份运行,但通常会在 Windows 上导致问题并阻止我安装某些软件包,如果存在 相同的权限被拒绝错误是另一个使用您(或pip install)尝试访问的文件的程序。这是 Windows 的一个非常愚蠢的“功能”,它会弹出很多次,例如尝试移动某些文件时。

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

【讨论】:

  • 是的,我成功了!我同时在 Git Bash、Pycharm 终端和 Windows 终端中工作,在关闭了三个中的两个之后一切正常。
【解决方案5】:

因为,我是通过 anaconda Prompt 安装的。就我而言,它甚至不适用于 python -m pip install 然后,我添加了这个

python -m pip install <package_name> --user

它对我有用。

点赞:python -m pip install mitmproxy --user

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

【讨论】:

  • 这对我在学校安装 python 包(在本例中为 sympy)很有用。谢谢!
  • 没有系统管理员权限时的最佳解决方案。
  • 终于成功了!
  • 没有其他东西对我有用,但对于这个命令,我收到以下错误 - ERROR: Can not perform a '--user' install. User site-packages are not visible in this virtualenv. 有什么帮助吗?
【解决方案6】:

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

【讨论】:

    【解决方案7】:

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

    找到python根目录-->右键单击-->属性-->安全-->编辑-->给用户完全控制-->是的,等待进程完成。

    它对我有用。

    【讨论】:

      【解决方案8】:

      在我的情况下,原因是打开了一个 jupyter notebook,它正在导入相关的库;根本原因似乎是由于文件正在打开/正在使用而导致的 Windows 错误(另请参阅@Robert 的回答,以及重新启动的建议)。

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

      对我来说,关闭笔记本服务器解决了这个问题。

      【讨论】:

        【解决方案9】:

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

        【讨论】:

        • 谢谢。一些临时 pip 文件阻止了安装。
        【解决方案10】:

        以管理员身份打开命令提示符只是为我工作而无需使用 Python 可执行文件。 右键单击命令提示符快捷方式,然后选择“以管理员身份运行”。 然后运行以下命令。

        pip install Django
        

        【讨论】:

        • 对我来说也一样——只需要以管理员身份运行 cmd。
        【解决方案11】:

        当所有其他方法都失败时,请尝试退出您的 IDE。我有很多案例是 PyCharm 造成这种情况的。一旦我退出 PyCharm,我终于可以从命令行安装我的包了。或者,您也可以通过 PyCharm 本身在 Settings -> Project: xxx -> Project Interpreter -> + 中安装。

        【讨论】:

        • 我在关闭 Spyder 之前遇到了同样的问题
        【解决方案12】:
        1. 以管理员身份打开命令提示符。

        2. 要安装任何 Python 包,请使用此命令,包括 --user

        pip install --ignore-installed --upgrade --user &lt;packagename&gt;

        【讨论】:

          【解决方案13】:

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

          python -m pip install
          

          【讨论】:

            【解决方案14】:

            我也遇到了类似的问题,但是报错是关于

            [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,但似乎它无法解决我的问题,并且仍然重复同样的问题。

            其次,如果你是在商务电脑上工作,一般可能存在网页内容过滤器(但我可以通过浏览器直接访问https://pypi.python.org)。通过添加代理服务器来解决这个问题。

            对于windows,通过IE或Chrome或其他任何方式打开Internet properties,然后设置有效的proxy address and port,这样就解决了我的问题

            或者只是添加选项pip --proxy [proxy-address]:port install mitmproxy。但是你在通过pypi安装时总是需要添加这个选项

            以上两种解决方案可以满足您的需求。

            【讨论】:

              【解决方案15】:

              就我而言,它甚至不适用于python -m pip install

              我所做的是,从 cmd 作为管理员:

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

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

              ;)

              【讨论】:

                【解决方案16】:

                以管理员身份运行 cmd 为我解决了问题。你也可以试试 --user。 如果您不想重复这些步骤,您需要授予对 anaconda 文件夹的完全访问权限。

                【讨论】:

                  【解决方案17】:

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

                  例如

                  pip install mitmproxy
                  

                  【讨论】:

                    猜你喜欢
                    • 1970-01-01
                    • 1970-01-01
                    • 2020-05-28
                    • 1970-01-01
                    • 1970-01-01
                    • 1970-01-01
                    • 2018-12-09
                    • 1970-01-01
                    相关资源
                    最近更新 更多