La shell di root vede pip ma sudo pip “ comando non trovato ”

Ho installato python 2.7.8 tramite make e make install e poi pip tramite get-pip . Devo notare che lavoro dietro un proxy che ho impostato tramite

  • http_proxy
  • ftp_proxy
  • https_proxy

in

  • mio utente “s ~/.zshrc
  • root” s /root/.basrc

ora lo sono in grado di eseguire pip

  • sul mio account utente
  • sullaccount root

ma non sono in grado di eseguirlo tramite la shell del mio utente utilizzando sudo

sudo pip sudo: pip: command not found 

Cosa cè che non va qui?

Risposta

Questo “sarà perché PATH è diverso quando in esecuzione con sudo . Prova a confrontare:

which pip env 

e

sudo which pip sudo env 

Una soluzione sicura è creare un link simbolico a pip in /usr/local/bin o anche /usr/bin. Se installi pip utilizzando un gestore di pacchetti, lo farà automaticamente su diverse (la maggior parte?) Distribuzioni.

Commenti

  • grazie, alias sudo='sudo env PATH=$PATH' ha risolto il problema.
  • Ci sono problemi di sicurezza con questo – non ' Non voglio impostarlo ciecamente in tutti i tuoi ambienti!
  • Non ' non sono sicuro che fosse molto chiaro in questa risposta, ma la soluzione è davvero una ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *