【问题标题】:Unable to install pip: Permission denied error无法安装 pip:权限被拒绝错误
【发布时间】:2011-05-20 13:55:45
【问题描述】:

我正在尝试安装 pip,但目前无法安装。 我导航到 pip 文件夹并

python setup.py install

一切似乎都很顺利,直到最后:

Extracting pip-0.8.2-py2.6.egg to /Library/Python/2.6/site-packages
Adding pip 0.8.2 to easy-install.pth file
Installing pip script to /usr/local/bin
error: /usr/local/bin/pip: Permission denied

我也尝试过easy_install . 并尝试引用相关线程但没有运气:Python install uninstall easy_install

有什么想法吗?

【问题讨论】:

  • 您是否以超级用户身份运行该命令? (sudo python setup.py install)?
  • python setup.py config --prefix=/path/to/directory/you/have/write/permissions/ && python setup.py install 可能会有所帮助
  • 须藤工作! :) 重新提交作为答案,所以我可以标记它。 (这是人们在 StackOverflow 上做的事情吗?)谢谢!
  • 在我的情况下,我只需要在~/.local/bin/ 中安装python3 setup.py install --prefix=~/.local/(确保在$PATH 中也设置~/.local/bin),无需在没有充分理由的情况下安装在/usr/local/bin/ 中。跨度>

标签: python easy-install egg pypi


【解决方案1】:

看起来你在 Linux/Unix 机器上,而且你不是 root ...这意味着你没有权限将东西放入 /usr/local/bin(或很多其他地方)。

cmets 更新:

由于 OS X 是(底层)FreeBSD Unix,所以仍然存在“root”的基本概念。您的管理员帐户能够执行 root 类型的操作,但它不会自动提升权限(这是一件好事)。您要查找的命令是 sudo,它提供临时 root 权限。要为单个命令执行此操作(最常见的情况),只需在命令前面加上 sudo,例如sudo python setup.py install。系统可能会提示您再次提供密码(不是 root 的密码,而是您自己的密码),然后该命令将被执行。 sudo 只会在第一次(或每 N 分钟)提示您输入密码。

我注意到here 在 10.5 及更高版本中,sudo 仅在您的管理员帐户有密码时才能工作。如果没有,那么您必须先设置一个,然后才能使用。

如果您需要以 root 身份执行大量工作,请尝试 sudo /bin/bash(或您选择的 shell),这将为您提供一个新的 shell(作为另一个 shell 的子进程),它具有 完全的 root 权限。 注意:如果您不习惯在根提示符下生活,这不是一个好主意。键盘一滑,您就可以将系统钉在外屋墙上。所以在外面要小心!

【讨论】:

  • 我在 Mac OS X 上,使用我的管理员帐户。想法?
  • sudo /bin/bash 不要那样做。就做sudo su
  • @Falmarri:这是否意味着 OS X 上没有 /bin/bash?或者 shell 存在并且 sudo 不能使用它?
  • @Falmarri:如果你是个老屁,直到它出现大约 10 年才知道sudo,这不是标准的! :-) 在你发帖之前我从来没有见过sudo su,但这很有意义。我很好奇并尝试了susudo susudo /bin/bash,每个后面跟着env > /tmp/env.X。它们中的每一个都在 env.su、env.sudo.su 和 env.sudo.bash 中生成一组不同的环境变量/值——这看起来是一个很好的方法来获得非常微妙、难以发现的错误/差异...叹息。
  • 如果你想保留你的用户环境设置你可以做sudo su -
猜你喜欢
  • 1970-01-01
  • 2016-07-11
  • 1970-01-01
  • 1970-01-01
  • 2014-11-07
  • 2019-08-25
  • 2018-10-09
  • 2018-11-14
相关资源
最近更新 更多