คำถามนี้ไม่มี "คำตอบ" เพียงคำเดียว แต่มีแนวคิดที่เป็นประโยชน์บางอย่างที่สามารถช่วยคุณในการตัดสินใจได้
คำถามแรกที่ต้องตอบในกรณีการใช้งานของคุณคือ "ฉันต้องการใช้ระบบ Python หรือไม่" หากคุณต้องการใช้ Python ที่แจกจ่ายกับระบบปฏิบัติการของคุณการใช้วิธีการติดตั้ง apt-get อาจใช้ได้ดี ทั้งนี้ขึ้นอยู่กับวิธีการแจกจ่ายระบบปฏิบัติการคุณยังคงต้องถามคำถามเพิ่มเติมเช่น "ฉันต้องการติดตั้งแพ็คเกจนี้หลายเวอร์ชันหรือไม่" ถ้าคำตอบคือใช่อาจไม่ใช่ความคิดที่ดีที่จะใช้สิ่งที่ต้องการ Dpkg ค่อนข้างจะคลายไฟล์เก็บถาวรที่รูทของระบบไฟล์ดังนั้นจึงขึ้นอยู่กับผู้ดูแลแพ็กเกจเพื่อให้แน่ใจว่าแพคเกจติดตั้งอย่างปลอดภัยภายใต้สมมติฐานที่น้อยมาก ในกรณีของแพ็คเกจเดเบียนส่วนใหญ่ฉันจะถือว่า (ใครบางคนสามารถแก้ไขฉันได้ที่นี่) ว่าพวกเขาเพียงแค่แก้ปัญหาและจัดหาแพ็คเกจระดับบนสุด
ตัวอย่างเช่นสมมติว่าแพคเกจคือ "virtualenv" /usr/lib/python2.x/site-packages/virtualenv
คุณจะจบลงด้วย หากคุณติดตั้งด้วยeasy_install
คุณจะได้รับสิ่งที่ต้องการ/usr/lib/python2.x/site-packages/virtualenv.egg-link
ซึ่งอาจชี้ไป/usr/lib/python2.x/site-packages/virtualenv-1.2-2.x.egg
ที่ไดเร็กทอรีหรือไข่ซิป Pip ทำสิ่งที่คล้ายกันแม้ว่าจะไม่ใช้ไข่ แต่จะวางแพ็คเกจระดับบนสุดไว้ในlib
ไดเรกทอรีโดยตรง
ฉันอาจจะออกนอกเส้นทาง แต่ประเด็นคือแต่ละวิธีคำนึงถึงความต้องการที่แตกต่างกัน นี่คือเหตุผลที่เครื่องมือเช่น Virtualenv มีประโยชน์เนื่องจากช่วยให้คุณสามารถแซนด์บ็อกซ์ไลบรารี Python ของคุณเพื่อให้คุณสามารถใช้ไลบรารีและเวอร์ชันต่างๆร่วมกันได้
Setuptools ยังอนุญาตให้ติดตั้งแพ็กเกจเป็นหลายทางซึ่งหมายความว่าจะไม่มีการdule_name.egg-link
สร้างโมเอกพจน์ ในการนำเข้าแพ็กเกจเหล่านั้นคุณต้องใช้ pkg_resources และ__import__
ฟังก์ชัน
กลับไปที่คำถามเดิมของคุณหากคุณพอใจกับ python ของระบบและวางแผนที่จะใช้ Virtualenv และ pip เพื่อสร้างสภาพแวดล้อมสำหรับแอพพลิเคชั่นที่แตกต่างกันการติดตั้ง Virtualenv และ / หรือ pip ที่ระดับระบบโดยใช้ apt-get นั้นเหมาะสมอย่างยิ่ง ข้อควรระวังอย่างหนึ่งก็คือหากคุณวางแผนที่จะอัปเกรดการกระจาย Python ของคุณสิ่งนั้นอาจมีผลกระเพื่อมผ่านทาง Virtualenvs ของคุณหากคุณเชื่อมโยงกลับไปยังแพ็คเกจไซต์ระบบของคุณ
ฉันควรพูดถึงว่าไม่มีตัวเลือกใดดีไปกว่าตัวเลือกอื่น ๆ พวกเขาใช้แนวทางที่แตกต่างกัน การใช้เวอร์ชันระบบเป็นวิธีที่ยอดเยี่ยมในการติดตั้งแอปพลิเคชัน Python แต่อาจเป็นวิธีที่ยากมากในการพัฒนาด้วย Python การติดตั้งและ setuptools ที่ง่ายดายนั้นสะดวกมากในโลกที่ไม่มี Virtualenv แต่ถ้าคุณต้องการใช้ไลบรารีเดียวกันเวอร์ชันต่างๆก็จะค่อนข้างเทอะทะ Pip และ Virtualenv ทำหน้าที่เหมือนเครื่องเสมือนจริงๆ แทนที่จะดูแลติดตั้งสิ่งต่างๆเคียงข้างกันคุณเพียงสร้างสภาพแวดล้อมใหม่ทั้งหมด ข้อเสียคือ 30+ อัจฉริยะในภายหลังคุณอาจใช้พื้นที่ดิสก์ไปแล้วเล็กน้อยและทำให้ระบบไฟล์ของคุณรก
อย่างที่คุณเห็นด้วยตัวเลือกมากมายจึงเป็นเรื่องยากที่จะบอกว่าจะใช้วิธีใด แต่ด้วยการตรวจสอบกรณีการใช้งานของคุณเล็กน้อยคุณควรจะสามารถหาวิธีที่ใช้ได้ผล
ez_setup.py
pip "รุ่นน้ำหนักเบา" ฉันจะทำเหมือนกัน แต่กลัวว่ามันจะพังในอนาคตอันใกล้และฉันจะติดอยู่ที่นี่อีกครั้ง (เหมือนที่เคยทำ)