คำถามของคุณมีอายุสามปีแล้วและยังมีรายละเอียดบางอย่างที่ไม่ครอบคลุมในคำตอบอื่น ๆ :
คนส่วนใหญ่ที่ฉันรู้จักใช้HomeBrewหรือMacPortsฉันชอบ MacPorts เนื่องจากมีการตัดสภาพแวดล้อม MacOS X เริ่มต้นและการตั้งค่าการพัฒนาของฉัน เพียงแค่ย้ายโฟลเดอร์/ optของคุณออกและทดสอบแพ็กเกจของคุณด้วยสภาพแวดล้อม Python ของผู้ใช้ปกติ
MacPorts สามารถพกพาได้ภายใน Mac เท่านั้น แต่ด้วย easy_install หรือ pip คุณจะได้เรียนรู้วิธีตั้งค่าสภาพแวดล้อมของคุณในทุกแพลตฟอร์ม (Win / Mac / Linux / Bsd ... ) นอกจากนี้ยังมีข้อมูลล่าสุดอยู่เสมอและมีแพ็คเกจเพิ่มเติม
ฉันเองให้ MacPorts จัดการโมดูล Python ของฉันเพื่ออัปเดตทุกอย่าง เช่นเดียวกับตัวจัดการแพ็คเกจระดับสูงอื่น ๆ (เช่น apt-get) มันจะดีกว่ามากสำหรับการยกโมดูลที่หนักหน่วงด้วยการพึ่งพาไบนารีจำนวนมาก ไม่มีวิธีใดที่ฉันจะสร้างการผูก Qt (PySide) ด้วย easy_install หรือ pip Qt มีขนาดใหญ่และใช้เวลามากในการรวบรวม ทันทีที่คุณต้องการแพ็คเกจ Python ที่ต้องการไลบรารีที่ใช้โดยโปรแกรมที่ไม่ใช่ Python ให้พยายามหลีกเลี่ยง easy_install หรือ pip
ในบางจุดคุณจะพบว่ามีบางแพ็คเกจหายไปใน MacPorts ผมไม่เชื่อว่า MacPorts เคยจะทำให้คุณทั้งCheeseShop ตัวอย่างเช่นเมื่อเร็ว ๆ นี้ฉันต้องการโมดูลElixirแต่ MacPorts เสนอเฉพาะ py25-elixir และ py26-elixir เท่านั้นไม่มีเวอร์ชัน py27 ในกรณีเช่นนี้คุณมี:
pip-2.7 ติดตั้ง - น้ำยาอีลิกเซอร์ผู้ใช้
(ตรวจสอบให้แน่ใจว่าคุณพิมพ์ pip- (เวอร์ชัน)) เสมอ
ซึ่งจะสร้างไลบรารี Python เพิ่มเติมในบ้านของคุณ ใช่ Python จะทำงานร่วมกับตำแหน่งไลบรารีมากกว่าหนึ่งแห่ง: ที่หนึ่งที่ควบคุมโดย MacPorts และผู้ใช้ในพื้นที่สำหรับทุกสิ่งที่ขาดหายไปใน MacPorts
ตอนนี้สังเกตว่าฉันชอบ pip มากกว่า easy_install มีเหตุผลที่ดีที่คุณควรหลีกเลี่ยง setuptools และ easy_install นี่เป็นคำอธิบายที่ดีและฉันพยายามหลีกเลี่ยงจากพวกเขา คุณสมบัติที่มีประโยชน์อย่างหนึ่งของ pip คือการให้รายการโมดูลทั้งหมด (ตามเวอร์ชัน) ที่คุณติดตั้งกับ MacPorts, easy_install และ pip เอง:
pip-2.7 ตรึง
หากคุณเริ่มใช้ easy_install แล้วไม่ต้องกังวล pip สามารถรับรู้ทุกสิ่งที่ทำไปแล้วโดย easy_install และแม้แต่อัปเกรดแพ็คเกจที่ติดตั้งด้วย
หากคุณเป็นนักพัฒนาคอยจับตาดูVirtualenvเพื่อควบคุมการตั้งค่าต่างๆและการรวมกันของเวอร์ชันโมดูล คำตอบอื่น ๆ ที่กล่าวถึงแล้วสิ่งที่ยังไม่ได้กล่าวถึงคือโมดูลToxซึ่งเป็นเครื่องมือสำหรับการทดสอบว่าแพคเกจของคุณติดตั้งอย่างถูกต้องกับ Python เวอร์ชันต่างๆ
แม้ว่าโดยปกติแล้วฉันจะไม่มีความขัดแย้งของเวอร์ชัน แต่ฉันก็ต้องการมี Virtualenv เพื่อตั้งค่าสภาพแวดล้อมที่สะอาดและรับมุมมองที่ชัดเจนเกี่ยวกับการอ้างอิงแพ็กเกจของฉัน ด้วยวิธีนี้ฉันไม่เคยลืมการอ้างอิงใด ๆ ใน setup.py ของฉัน
หากคุณใช้ MacPorts โปรดทราบว่าไม่ได้เลือกแพ็กเกจเดียวกันหลายเวอร์ชันอีกต่อไปเช่นเดเบียนสไตล์เก่าที่มีแพ็คเกจ python_select พิเศษ (ยังคงมีให้เข้ากันได้) ตอนนี้คุณมีคำสั่ง select เพื่อเลือกว่าจะใช้ Python เวอร์ชันใด (คุณสามารถเลือกเวอร์ชันที่ติดตั้งโดย Apple):
$ port select python
Available versions for python:
none
python25-apple
python26-apple
python27 (active)
python27-apple
python32
$ port select python python32
เพิ่มสารพิษด้านบนและโปรแกรมของคุณควรพกพาได้จริงๆ