Powłoka roota widzi pip, ale sudo pip “ polecenie nie zostało znalezione ”

Zainstalowałem Pythona 2.7.8 przez make i make install, a następnie pip przez get-pip . Muszę zauważyć, że pracuję za pośrednictwem proxy, które skonfigurowałem przez

  • http_proxy
  • ftp_proxy
  • https_proxy

w

  • mój użytkownik „s ~/.zshrc
  • root” s /root/.basrc

teraz jestem w stanie uruchomić pip

  • na moim koncie użytkownika
  • na koncie root

ale nie mogę go uruchomić przez powłokę mojego użytkownika używając sudo

sudo pip sudo: pip: command not found 

Co tu jest nie tak?

Odpowiedz

To będzie, ponieważ PATH jest inny, gdy działa z sudo . Spróbuj porównać:

which pip env 

z

sudo which pip sudo env 

Bezpiecznym obejściem jest utworzenie dowiązanie symboliczne do pip w /usr/local/bin lub nawet . Jeśli zainstalujesz pip za pomocą menedżera pakietów, zrobi to automatycznie na kilku (większości?) Dystrybucjach.

Komentarze

  • dziękuję, alias sudo='sudo env PATH=$PATH' rozwiązałem problem.
  • Są z tym problemy związane z bezpieczeństwem – nie ' nie chcę ślepo ustawiać tego we wszystkich swoich środowiskach!
  • Nie jestem ' Nie jestem pewien, czy odpowiedź była bardzo jasna, ale rozwiązanie jest rzeczywiście ln -s /usr/local/bin/<stuff> /usr/bin/<stuff>

Dodaj komentarz

Twój adres email nie zostanie opublikowany. Pola, których wypełnienie jest wymagane, są oznaczone symbolem *