และสำหรับคำตอบที่อารมณ์ดีขึ้น:
- คุณจำเป็นต้องทำเสมอ
sudo apt-get install ...
นั่นคือวิธีที่เครื่องมือถูกออกแบบมาให้ทำงาน
- การใช้
sudo [-H]
กับpip install
อาจเป็นไปได้ & เป็นทางเลือกขึ้นอยู่กับว่าคุณต้องการจะทำอะไร (และ "การโต้แย้ง")
หนึ่งในคติของPythonคือ"ควรมีอย่างใดอย่างหนึ่ง - และดีกว่าเพียงหนึ่ง - วิธีชัดเจนที่จะทำ." และเช่นเดียวกับคติประจำใจส่วนใหญ่มันจะทำลายด้วยความสนุกสนานที่ดูน่ากลัวในทุกโอกาสที่เป็นไปได้ (นั่นเป็นเหตุผลว่าทำไมถึงมีคติพจน์อยู่ฉันคิดว่าน่าเสียดาย) ในความเห็นต่ำต้อยที่สุดของฉันระบบนิเวศของ Python ประกอบด้วยกฎ "ยากและเร็ว" ที่ขัดแย้งกันมากมายไม่เคยถูกทำลาย ... ยกเว้นเมื่อ "yada yada yada" (ปีศาจ รายละเอียดอื่น ๆ ) ในเกือบทุกกรณีนี่เป็นเพราะวิวัฒนาการทางประวัติศาสตร์ของภาษาและเครื่องมือ (และผู้ที่ต้องการ / ต้องการบทเรียนประวัติศาสตร์เมื่อพวกเขาต้องการทำงานกับพวกเขา) - แต่อาจเกิดจากความแตกต่างใน Mac / Win / * แพลตฟอร์ม Nix (เช่น Unix / Linux มีความคิดคล้ายกันใช้"การฝึกฝนที่ผิดพลาด" & "ผิด" โดยกำเนิด "ผู้ขนส่งสินค้าด้วยเกลือจำนวนมาก บางคนทำดีจริง ๆ (อื่น ๆ เป็นเพียงดีหมายถึง.)
ก่อนอื่นแทนที่จะติดตั้ง "ต่อผู้ใช้ขั้นพื้นฐาน" คุณจะชอบ virtualenv อยู่เสมอเพราะจริงๆแล้วนั่นอาจเป็นสิ่งที่คุณต้องการ ดังนั้นคุณอาจเริ่มจากตอนนี้ วิธีการนี้จะเสร็จสิ้นตรงตาม "ขึ้น" (ดูคำขวัญ Python ด้านบน) หากคุณกำลังใช้ Conda (ส่วนใหญ่สำหรับ Mac และ Windows) ก็จะถูกกำหนดขึ้นโดยใช้ Conda หากใช้ Python "บริสุทธิ์" [sic]มันขึ้นอยู่กับเวอร์ชันและไพ ธ อนใดที่คุณมี แต่virtualenvwrapperนั้นค่อนข้างมีประโยชน์
ประการที่สองเช่นเดียวกับตัวอย่างของกฎ "ไม่เคย sudo" คุณอาจต้องการsudo -H pip install -U numpy
ซึ่งดีอย่างสมบูรณ์แม้ประโยชน์ในการที่มันสามารถอนุญาตให้หนึ่งเพื่อหลีกเลี่ยงการดาวน์โหลด / ติดตั้งใหม่ / การบำรุงรักษาห้องสมุดขนาดใหญ่ที่คุณต้องการ / ต้องการหนึ่งเวอร์ชันใน virtualenv ทุกอันแยกกัน กรอบใหญ่ยอดนิยมเช่น scikit-learning, NumPy, matplotlib, SciPy, pandas เป็นต้นสามารถติดตั้งได้ทันที & เสร็จสิ้นและนำกลับมาใช้ใหม่ในสภาพแวดล้อมต่างๆ นอกจากนี้ผู้ดูแลระบบ sys-admin ที่เป็นมิตรของคุณอาจสามารถทำการติดตั้งเหล่านี้ให้กับผู้ใช้ทุกคนในระบบและแน่นอนว่าพวกเขาจะทำสิ่งนี้ผ่านsudo
เช่นกันเช่นสำหรับการติดตั้งที่ซับซ้อนมากขึ้นเช่น TensorFlow
และท้ายที่สุดถ้าคุณติดตั้งไลบรารี่ของบุคคลที่สามซึ่งทำเช่นนั้น (Twitter API, ข้อความผิดพลาด, การจัดรูปแบบโค้ด ฯลฯ ) ฉันก็เห็นด้วยอย่างยิ่ง - อย่าติดตั้งมันเป็นรูทผ่าน sudo แน่นอนว่าติดตั้งเป็นผู้ใช้ปัจจุบันของคุณ แต่จำไว้ว่าคุณใช้บัญชีมีทุกสิ่งที่สำคัญจริงๆของคุณ
sudo pip install
ผิด - จากstackoverflow.com/a/33004920/95735