เมื่อฉันเจอสถานการณ์คล้าย ๆ กันฉันมักจะหลีกเลี่ยงตัวจัดการแพ็กเกจโดยเฉพาะอย่างยิ่งถ้ามันน่าอายที่จะทำลายบางอย่างเช่นเซิร์ฟเวอร์ที่ใช้งานจริง แต่ฉันจะไปที่ Activestate และดาวน์โหลดแพ็คเกจไบนารีของพวกเขา:
https://www.activestate.com/activepython/downloads/
สิ่งนี้ถูกติดตั้งโดยการเรียกใช้สคริปต์ที่วางทุกอย่างลงในโฟลเดอร์และไม่แตะต้องไฟล์ระบบใด ๆ ในความเป็นจริงคุณไม่จำเป็นต้องมีสิทธิ์รูทเพื่อตั้งค่า จากนั้นฉันเปลี่ยนชื่อไบนารีเป็น apy26 เพิ่มโฟลเดอร์นั้นที่ส่วนท้ายของ PATH และเริ่มเขียนโค้ด หากคุณติดตั้งแพ็คเกจด้วยapy26 setup.py install
หรือถ้าคุณใช้ Virtualenv และง่ายแสดงว่าคุณมีสภาพแวดล้อม python ที่ยืดหยุ่นเท่าที่คุณต้องการโดยไม่ต้องสัมผัสกับ python มาตรฐานของระบบ
การแก้ไข ... เมื่อเร็ว ๆ นี้ฉันได้ทำงานบางอย่างเพื่อสร้างไบนารี Python แบบพกพาสำหรับ Linux ที่ควรทำงานบน distro ใด ๆ โดยไม่มีการอ้างอิงภายนอก ซึ่งหมายความว่าไลบรารีที่ใช้ร่วมกันแบบไบนารีใด ๆ ที่จำเป็นสำหรับโมดูล Python แบบพกพาเป็นส่วนหนึ่งของบิลด์ที่รวมอยู่ใน tarball และติดตั้งในโครงสร้างไดเร็กทอรีส่วนตัวของ Python วิธีนี้คุณสามารถติดตั้ง Python สำหรับแอปพลิเคชันของคุณโดยไม่รบกวนระบบที่ติดตั้ง Python
ไซต์ github ของฉันมีสคริปต์การสร้างซึ่งได้รับการทดสอบอย่างละเอียดบน Ubuntu Lucid 10.04 LTS ทั้งการติดตั้ง 32 และ 64 บิต ฉันได้สร้างมันขึ้นบน Debian Etch แล้ว แต่เมื่อไม่นานมานี้และฉันไม่สามารถรับประกันได้ว่าฉันจะไม่เปลี่ยนแปลงอะไรบางอย่าง วิธีที่ง่ายที่สุดคือคุณเลือก Ubuntu Lucid ในเครื่องเสมือนเช็คเอาต์สคริปต์git clone git://github.com/wavetossed/pybuild.git
จากนั้นเรียกใช้สคริปต์
เมื่อสร้างเสร็จแล้วให้ใช้ tarball บน Linux distro ล่าสุด มีริ้วรอยเล็กน้อยในการย้ายไปยังไดเร็กทอรีอื่นนอกเหนือจาก/data1/packages/python272
ที่คุณต้องเรียกใช้รวมpatchelf
เพื่อกำหนดเส้นทางล่ามก่อนที่คุณจะย้ายไดเร็กทอรี สิ่งนี้มีผลต่อไบนารีใด ๆ ใน/data1/packages/python272/bin
ทั้งหมดนี้ขึ้นอยู่กับการสร้างด้วย RUNPATH และการคัดลอกไลบรารีที่แชร์ที่อ้างอิง แม้ว่าสคริปต์จะอยู่ในหลายไฟล์ แต่ก็เป็นเชลล์สคริปต์แบบยาวที่มีประสิทธิภาพซึ่งจัดเรียงในรูปแบบของไดเร็กทอรี