web-dev-qa-db-fra.com

sudo: pip: commande introuvable dans CentOS

J'utilise CentOS et j'ai installé pip pour /usr/local/python-dir/bin/pip. J'ai fait un lien vers /usr/local/bin/pip. Ensuite, j'ai exécuté Sudo pip install xxx, il a signalé une erreur comme celle-ci:

Sudo: pip: command not found

Je vois $PATH va bien:

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

Cependant, je ne peux exécuter pip que de cette façon:

Sudo /usr/local/bin/pip install xxx

Comment puis-je configurer PATH ou autre chose? Merci beaucoup.

23
zimmer

Pour des raisons de sécurité, Sudo ne s'appuie pas sur $PATH défini dans votre environnement. Il y a un secure_path option dans /etc/sudoers qui spécifie le PATH que Sudo utilisera pour localiser les binaires. Par exemple:

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

Ajoutez simplement /usr/local/bin à ce CHEMIN, ou habituez-vous à taper:

Sudo `which pip` install xxx
55
larsks

Pas idéal mais fonctionne. Vous pouvez toujours le dissocier après l'installation pour restaurer la sécurité.

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

Place pip dans le bac du chemin racine. Vous pouvez ensuite exécuter pip en tant que Sudo.

8
Paul Kenjora

Essayez Sudo bash -c 'echo $PATH' pour voir où Sudo recherche des commandes; vous pouvez ensuite créer un lien symbolique pip dans l'un de ces répertoires.

4
Mark Reed

pip peut être installé avec la commande ci-dessous:

yum -y install python-pip

Si vous rencontrez un problème avec la clé GPG (aucun fichier ou répertoire), déclenchez la commande ci-dessous:

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

puis essayez d'installer pip

2
Madhu M B