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

zim*_*mer 23 python centos pip

我使用CentOS,我安装了pip /usr/local/python-dir/bin/pip.我建了一个链接/usr/local/bin/pip.然后我执行了sudo pip install xxx,它报告了这样的错误:

sudo: pip: command not found
Run Code Online (Sandbox Code Playgroud)

我觉得$PATH没事:

/usr/local/bin:/usr/bin:/bin:/usr/local/sbin:/usr/sbin
Run Code Online (Sandbox Code Playgroud)

但是,我只能这样执行pip:

sudo /usr/local/bin/pip install xxx
Run Code Online (Sandbox Code Playgroud)

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

lar*_*sks 55

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

Defaults    secure_path = /sbin:/bin:/usr/sbin:/usr/bin
Run Code Online (Sandbox Code Playgroud)

只需添加/usr/local/bin到此PATH,或习惯输入:

sudo `which pip` install xxx
Run Code Online (Sandbox Code Playgroud)


Pau*_*ora 8

不理想但有效.您可以在安装后始终取消链接以恢复安全性.

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

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