Подтвердить что ты не робот

Sudo: pip: команда не найдена в CentOS

Я использую CentOS, и я установил pip на /usr/local/python-dir/bin/pip. Я сделал ссылку на /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

Тем не менее, я могу выполнить этот вызов только так:

sudo /usr/local/bin/pip install xxx

Как настроить PATH или что-то еще? Большое спасибо.

4b9b3361

Ответ 1

Из соображений безопасности sudo не полагается на $PATH, установленном в вашей среде. В /etc/sudoers есть параметр secure_path, который указывает PATH, который sudo будет использовать для поиска двоичных файлов. Например:

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

Просто добавьте /usr/local/bin в этот PATH или привыкнуть к вводу:

sudo `which pip` install xxx

Ответ 2

Не идеально, но работает. Вы всегда можете отсоединить его после установки, чтобы восстановить безопасность.

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

Помещает пип в корневую корзину. Затем вы можете запустить pip как sudo.

Ответ 3

Попробуйте sudo bash -c 'echo $PATH', чтобы увидеть, где sudo ищет команды; вы можете затем символизировать pip в один из этих каталогов.

Ответ 4

pip может быть установлен с помощью следующей команды:

yum -y install python-pip

Если вы столкнулись с какой-либо проблемой с GPG-ключом (нет такого файла или каталога), затем выполните команду ниже:

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

затем попробуйте установить pip

Ответ 5

Вы можете добавить параметр -E в sudo для использования переменных окружения вашей учетной записи пользователя

$sudo -E pip install xyz