sudo: pip: 在 CentOS 中找不到命令

sudo: pip: command not found in CentOS

我使用 CentOS 并安装了 pip 到 /usr/local/python-dir/bin/pip。我做了一个 link 到 /usr/local/bin/pip。然后我执行了sudo pip install xxx,报了这样的错误:

sudo: pip: command not found

我看$PATH没问题:

/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin

但是我只能这样执行pip:

sudo /usr/local/bin/pip install xxx

如何配置 PATH 或其他?非常感谢。

出于安全原因,sudo 不依赖于您环境中设置的 $PATH/etc/sudoers 中有一个 secure_path 选项指定 sudo 将用于定位二进制文​​件的 PATH。例如:

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin

只需将 /usr/local/bin 添加到此 PATH,或者习惯于键入:

sudo `which pip` install xxx

您可以将 -E 选项添加到 sudo 以使用您的用户帐户的环境变量

$ sudo -E pip install xyz

尝试sudo bash -c 'echo $PATH'看看sudo在哪里寻找命令;然后,您可以将 pip 符号链接到这些目录之一。

不理想但有效。您可以在安装后随时取消链接以恢复安全性。

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

将 pip 放入根路径 bin 中。然后你可以 运行 pip as sudo.

可以使用以下命令安装 pip :

yum -y install python-pip

如果您在使用 GPG 密钥时遇到任何问题(没有这样的文件或目录),请触发以下命令:

rpm --import http://dl.fedoraproject.org/pub/epel/RPM-GPG-KEY-EPEL-6

然后尝试安装 pip

在我的系统上,我安装了 miniconda;所以我打开的任何终端最初都在基础环境中。要在全球范围内安装 pip 包,我需要先从基础环境中“conda deactivate”。然后当我“pip install”一个包时,它可以被系统全局看到。