Le shell racine voit pip mais sudo pip “ commande introuvable ”

Jai installé python 2.7.8 via make et make install puis pip via get-pip . Je dois noter que je travaille derrière un proxy que jai mis en place via

  • http_proxy
  • ftp_proxy
  • https_proxy

dans

  • mon utilisateur « s ~/.zshrc
  • root » s /root/.basrc

maintenant je suis capable dexécuter pip

  • sur mon compte utilisateur
  • sur le compte root

mais je ne peux pas lexécuter via le shell de mon utilisateur en utilisant sudo

sudo pip sudo: pip: command not found 

Quest-ce qui ne va pas ici?

Réponse

Cela « sera parce que PATH est différent lorsque sexécutant avec sudo . Essayez de comparer:

which pip env 

vs

sudo which pip sudo env 

Une solution de contournement sécurisée consiste à créer un lien symbolique vers pip dans /usr/local/bin ou même /usr/bin. Si vous installez pip à laide dun gestionnaire de paquets, il le fera automatiquement sur plusieurs (la plupart?) Distributions.

Commentaires

  • merci, alias sudo='sudo env PATH=$PATH' a résolu le problème.
  • Il y a des problèmes de sécurité avec cela – vous ne ' Je ne veux pas définir aveuglément cela dans tous vos environnements!
  • Je ' ne sais pas si cétait super clair dans cette réponse, mais la solution est en effet un ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *