无法安装 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,但这很有意义。我很好奇并尝试了susudo susudo /bin/bash,每个后面跟着env > /tmp/env.X。它们中的每一个都在 env.su、env.sudo.su 和 env.sudo.bash 中生成一组不同的环境变量/值——这看起来是一个很好的方法来获得非常微妙、难以发现的错误/差异...叹息。 如果你想保留你的用户环境设置你可以做sudo su -

以上是关于无法安装 pip:权限被拒绝错误的主要内容,如果未能解决你的问题,请参考以下文章

npm 包无法安装“npm ERR!错误:EACCES:权限被拒绝”

安装 Carthage 时出现“错误:无法锁定配置文件 .git/config:权限被拒绝”的错误

错误:由于环境错误而无法安装软件包:[Errno 13] 权限被拒绝:我如何解决? [关闭]

安装 matplotlib 权限被拒绝错误

Git Bash 错误:无法分叉子进程:权限被拒绝(-1)

Python - 错误:无法创建“treetagger.egg-info”:权限被拒绝