รูทเชลล์เห็น pip แต่ sudo pip“ ไม่พบคำสั่ง”


12

ผมได้ติดตั้งหลาม 2.7.8 ผ่านmakeและmake installแล้ว pip ผ่านได้รับ pip ฉันต้องทราบว่าฉันทำงานหลังพร็อกซีซึ่งฉันได้ตั้งค่าผ่าน

  • 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โดยใช้ตัวจัดการแพคเกจมันจะทำสิ่งนี้โดยอัตโนมัติในหลาย ๆ distros (ส่วนใหญ่?)


6
ขอบคุณalias sudo='sudo env PATH=$PATH'แก้ไขปัญหา
Patryk

มีปัญหาด้านความปลอดภัย - คุณไม่ต้องการตั้งค่านี้ในทุกสภาพแวดล้อม!
l0b0

7
ฉันไม่แน่ใจว่ามันชัดเจนมากในคำตอบนี้ แต่การแก้ปัญหาแน่นอนln -s /usr/local/bin/<stuff> /usr/bin/<stuff>
JulienD
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.