Root shell ser pip, men sudo pip “ kommando blev ikke fundet ”

Jeg har installeret python 2.7.8 via make og make install og derefter pip via get-pip . Jeg skal bemærke, at jeg arbejder bag en proxy, som jeg har oprettet via

  • http_proxy
  • ftp_proxy
  • https_proxy

i

  • min bruger “s ~/.zshrc
  • root” s /root/.basrc

nu er jeg i stand til at køre pip

  • på min brugerkonto
  • på rodkonto

men jeg er ikke i stand til at køre det via min brugers shell ved hjælp af sudo

sudo pip sudo: pip: command not found 

Hvad er der galt her?

Svar

At “det skyldes, at PATH er anderledes, når kører med sudo . Prøv at sammenligne:

which pip env 

vs.

sudo which pip sudo env 

En sikker løsning er at oprette en symbolsk link til pip i /usr/local/bin eller endda /usr/bin. Hvis du installerer pip ved hjælp af en pakkehåndtering, vil den automatisk gøre dette på flere (mest?) Distroer.

Kommentarer

  • tak, alias sudo='sudo env PATH=$PATH' løste problemet.
  • Der er sikkerhedsproblemer med det – du don ' t vil blindt indstille dette i alle dine miljøer!
  • Jeg ' er ikke sikker på, om det var super klart i dette svar, men løsningen er virkelig en ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *