रूट शेल पाइप देखता है लेकिन सूडो पाइप "कमांड नहीं मिला"


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

बनाम

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>
जूलिएनड
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.