无法安装pip:权限被拒绝错误

6

我正在尝试安装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 有什么想法吗?

3
你是否以超级用户身份运行该命令?(sudo python setup.py install) - Uku Loskit
1
python setup.py config --prefix=/path/to/directory/you/have/write/permissions/ && python setup.py install 可能会有所帮助。 - khachik
Sudo成功了! :) 请重新提交作为答案,这样我就可以标记它了。(这是StackOverflow上的常见做法吗?)谢谢! - Eitan
在我的情况下,我只需运行 python3 setup.py install --prefix=~/.local/ 命令即可将其安装在 ~/.local/bin/ 目录下(确保在 $PATH 中设置了 ~/.local/bin),除非有充分的理由,否则无需安装在 /usr/local/bin/ 目录下。 - 林果皞
1个回答

17

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

评论更新:

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

我注意到这里在10.5及更高版本中,sudo 只会在你的管理员帐户有密码时才能使用。如果没有设置密码,则必须先设置密码才能使用。

如果你有一堆需要作为 root 完成的任务,请尝试 sudo /bin/bash(或你选择的 shell),这将为你提供一个新的 shell(作为另一个 shell 的子进程),它具有完全的根权限。请注意:如果你不习惯使用 root 提示符,这不是一个好主意。一旦按错键盘,你就可能把系统玩儿崩了。所以请小心。


我正在使用Mac OS X操作系统,使用管理员账户。有什么想法? - Eitan
2
不要使用 sudo /bin/bash,请使用 sudo su - Falmarri
@Falmarri:这是不是意味着在OS X上没有/bin/bash?还是说shell存在,但sudo不能与其一起使用? - Peter Rowell
@Peter:哦,我没有Mac,所以我不知道。我只是说sudo su是更标准的方法。 - Falmarri
1
@Falmarri:如果你是一个老古董,直到sudo出现了大约10年后才学会它,那么这就不是标准了!:-)在你的帖子之前,我从未见过sudo su,但它非常有道理。我很好奇,尝试了susudo susudo /bin/bash,每个命令后面都跟着env > /tmp/env.X。它们中的每一个都会在env.suenv.sudo.suenv.sudo.bash中产生不同的环境变量/值集——这看起来像是一种得到非常微妙、难以发现的错误/差异的好方法……唉。 - Peter Rowell
1
如果您想保持用户环境设置,可以执行 sudo su - - Falmarri

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接