sudo 和 pip 不在同一条路径上

sudo and pip not on the same path

pipsudo 在我的机器上不在同一路径上,所以当(基本上所有时间)我需要 运行 两个命令时,像这样:

sudo pip install xxx

我得到:

sudo: pip: command not found

pip 下载包,但由于在安装结束时访问被拒绝,所以最终失败。

通过 pip -V,(which pip returns 什么都没有)我知道 pip 在哪里:

pip 1.5.4 from /Library/Python/2.7/site-packages/pip-1.5.4-py2.7.egg (python 2.7)

并通过 sudo bash -c 'echo $PATH',

我得到:

/usr/bin:~/bin:/bin:/usr/local/bin:/usr/local/sbin:/Applications/Zed.app/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/usr/local/MacGPG2/bin

我试过将 pip 符号链接到 sudo 的目录中,如下所示:

$ sudo ln -s /usr/local/bin/pip /usr/bin/pip,无果。

如何将 sudo 放在同一个 path 上?

你试过只执行 sudo su 看看它是否有效?

无论 pip 位于何处,当您执行 sudo 时,它都不在您的路径中。所以试试这个:

sudo /usr/local/bin/pip 

如果这不起作用,请说 which pip 找出 pip 所在的位置,然后进行相应的操作。

根据这里:https://unix.stackexchange.com/a/83194,你应该可以运行这样的命令:

sudo env 'PATH=$PATH:/usr/local/bin' pip ...

似乎没有在系统级别安装 pip。 您可以通过 运行 sudo apt-get install python-pip 从 terminal.After 在系统级别安装 pip,您可以通过 运行 sudo pip install --upgrade pip 升级 pip

如果您使用 sudo env "PATH=$PATH" pip install xxx,您应该能够 运行 正确的 pip 可执行文件。

你试过了吗

sudo -H <your_commands>

?

这应该可以保护您的用户环境。

安装pip后,我做了

sudo ln -s /usr/local/bin/pip /usr/bin/pip

现在 root 可以在不修改任何 PATH 的情况下使用 pip。我在对 root 帐户进行 PATH 修改时遇到了问题。