Rootshell ziet pip maar sudo pip “ commando niet gevonden ”

Ik heb python 2.7.8 geïnstalleerd via make en make install en dan pip via get-pip . Ik moet opmerken dat ik werk achter een proxy die ik heb ingesteld via

  • http_proxy
  • ftp_proxy
  • https_proxy

in

  • mijn gebruiker “s ~/.zshrc
  • root” s /root/.basrc

nu ben ik in staat om pip

  • op mijn gebruikersaccount uit te voeren
  • op rootaccount

maar ik kan het niet uitvoeren via de shell van mijn gebruiker met sudo

sudo pip sudo: pip: command not found 

Wat is hier mis?

Antwoord

Dat “komt wel omdat de PATH anders is wanneer actief met sudo . Vergelijk eens:

which pip env 

vs.

sudo which pip sudo env 

Een veilige oplossing is om een symbolische link naar pip in /usr/local/bin of zelfs /usr/bin. Als je pip installeert met een pakketbeheerder, zal dit automatisch gebeuren op verschillende (de meeste?) Distributies.

Reacties

  • bedankt, alias sudo='sudo env PATH=$PATH' heeft het probleem opgelost.
  • Daar zijn beveiligingsproblemen mee – je hoeft ' wil dit niet blindelings in al je omgevingen instellen!
  • Ik ' m niet zeker of het super duidelijk was in dit antwoord, maar de oplossing is inderdaad een ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Geef een reactie

Het e-mailadres wordt niet gepubliceerd. Vereiste velden zijn gemarkeerd met *