无法安装 pip:权限被拒绝错误
Posted
技术标签:
【中文标题】无法安装 pip:权限被拒绝错误【英文标题】:Unable to install pip: Permission denied error 【发布时间】: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
可能会有所帮助
须藤工作! :) 重新提交作为答案,所以我可以标记它。 (这是人们在 *** 上做的事情吗?)谢谢!
在我的情况下,我只需要在~/.local/bin/
中安装python3 setup.py install --prefix=~/.local/
(确保在$PATH
中也设置~/.local/bin
),无需在没有充分理由的情况下安装在/usr/local/bin/
中。跨度>
【参考方案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
,但这很有意义。我很好奇并尝试了su
、sudo su
和sudo /bin/bash
,每个后面跟着env > /tmp/env.X
。它们中的每一个都在 env.su、env.sudo.su 和 env.sudo.bash 中生成一组不同的环境变量/值——这看起来是一个很好的方法来获得非常微妙、难以发现的错误/差异...叹息。
如果你想保留你的用户环境设置你可以做sudo su -
以上是关于无法安装 pip:权限被拒绝错误的主要内容,如果未能解决你的问题,请参考以下文章
npm 包无法安装“npm ERR!错误:EACCES:权限被拒绝”
安装 Carthage 时出现“错误:无法锁定配置文件 .git/config:权限被拒绝”的错误