Корінна оболонка бачить pip, але sudo pip "команда не знайдена"


12

Я встановив пітон 2.7.8 через makeта , make installа потім піп через Get-піп . Мушу зазначити, що я працюю за проксі-сервером, який я створив через

  • http_proxy
  • ftp_proxy
  • https_proxy

в

  • мого користувача ~/.zshrc
  • кореневих /root/.basrc

тепер я вмію бігати pip

  • на мій обліковий запис користувача
  • на кореневий рахунок

але я не в змозі запустити його через оболонку мого користувача, використовуючи sudo

sudo pip
sudo: pip: command not found

Що тут не так?

Відповіді:


18

Це буде тому, що PATHпри роботі з іншимsudo . Спробуйте порівняти:

which pip
env

vs.

sudo which pip
sudo env

Один безпечний обхідний шлях, щоб створити символічне посилання pipв /usr/local/binабо навіть /usr/bin. Якщо ви встановите pipза допомогою менеджера пакунків, він зробить це автоматично в кількох (самих?) Дистрибутивах.


6
дякую, alias sudo='sudo env PATH=$PATH'вирішили питання.
Патрик

У цьому є проблеми із безпекою - ви не хочете сліпо встановлювати це у всіх своїх умовах!
l0b0

7
Я не впевнений, чи було це зрозуміло в цій відповіді, але рішення справді такеln -s /usr/local/bin/<stuff> /usr/bin/<stuff>
JulienD
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.