Root shell ser pip men sudo pip “ kommandoen ble ikke funnet ”

Jeg har installert python 2.7.8 via make og make install og deretter pip via få pip . Jeg må merke meg at jeg jobber bak en proxy som jeg har satt opp via

  • http_proxy
  • ftp_proxy
  • https_proxy

i

  • min bruker «s ~/.zshrc
  • root» s /root/.basrc

nå er jeg i stand til å kjøre pip

  • på brukerkontoen min
  • på root-kontoen

men jeg kan ikke kjøre det via brukerens skall med sudo

sudo pip sudo: pip: command not found 

Hva er galt her?

Svar

At «det skal være fordi PATH er annerledes når kjører med sudo . Prøv å sammenligne:

which pip env 

vs.

sudo which pip sudo env 

En sikker løsning er å lage en symbolsk lenke til pip i /usr/local/bin eller til og med /usr/bin. Hvis du installerer pip ved hjelp av en pakkebehandling, vil den gjøre dette automatisk på flere (mest?) Distroer.

Kommentarer

  • takk, alias sudo='sudo env PATH=$PATH' løste problemet.
  • Det er sikkerhetsproblemer med det – du trenger ikke ' t vil blindt sette dette i alle miljøene dine!
  • Jeg ' er ikke sikker på om det var superklart i dette svaret, men løsningen er virkelig en ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *