Root shell vede pip dar sudo pip “ comanda nu a fost găsită ”

Am instalat python 2.7.8 prin make și make install și apoi pip prin get-pip . Trebuie să menționez că lucrez în spatele unui proxy pe care l-am configurat prin

  • http_proxy
  • ftp_proxy
  • https_proxy

în

  • utilizatorul meu „s ~/.zshrc
  • root” s /root/.basrc

acum sunt capabil să ruleze pip

  • pe contul meu de utilizator
  • pe contul root

dar nu pot să-l rulez prin shell-ul utilizatorului meu folosind sudo

sudo pip sudo: pip: command not found 

Ce nu este în regulă aici?

Răspuns

Asta „va fi pentru că PATH este diferit atunci când care rulează cu sudo . Încercați să comparați:

which pip env 

vs.

sudo which pip sudo env 

O soluție sigură este crearea unui legătură simbolică către pip în /usr/local/bin sau chiar /usr/bin. Dacă instalați pip folosind un manager de pachete, aceasta va face automat pe mai multe distribuții (cele mai multe?).

Comentarii

  • mulțumesc, alias sudo='sudo env PATH=$PATH' a rezolvat problema.
  • Există probleme de securitate – nu aveți ' Nu vreau să setez orbește acest lucru în toate mediile dvs.!
  • Nu ' nu sunt sigur dacă a fost foarte clar în acest răspuns, dar soluția este într-adevăr o ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *