วิธีใช้ Python 2.7.x ล่าสุด“ วิธีที่ถูกต้อง” บน Ubuntu 12.04 LTS


28

โครงการของฉันต้องเป็นปัจจุบันใน Python แต่ 12.04LTS ติดอยู่ที่ 2.7.3 แม้ว่า 2.7.5 จะออกมาแล้ว มีวิธีที่ฉันสามารถอยู่ในปัจจุบันมากขึ้นโดยไม่ต้องรวบรวมด้วยตนเอง? เราจำเป็นต้องคงการติดตั้งแบบแพ็คเกจสำหรับ Python วิธี "ถูกต้อง" ในการจัดการกับสิ่งนี้คืออะไร?

ขอบคุณ!

คำตอบ:


14

แก้ไข: * ตามที่ @Athon ได้ชี้ให้เห็นในความคิดเห็น PPA นี้ไม่รวม Python 2.7 สำหรับ Ubuntu 12.04 (แม่นยำ) ดูคำตอบของขี้ขลาด - อนาคตด้านล่างซึ่งฉันไม่เชื่อว่ามีอยู่เมื่อฉันตอบกลับ

วิธี "Ubuntu" ที่ต้องการเพื่อจัดการกับแพ็คเกจที่ไม่รวมอยู่ในจักรวาลของพวกเขาโดยค่าเริ่มต้นคือการใช้ PPA (พื้นที่เก็บข้อมูลของบุคคลที่สาม) แทนที่จะรวบรวมด้วยตนเอง คุณคงประโยชน์ของการจัดการแพ็คเกจการอัพเดตและการแก้ไขการพึ่งพาวิธีนี้

อย่างไรก็ตามที่เก็บของบุคคลที่สามไม่ได้รับการสนับสนุนอย่างเป็นทางการหากเป็นส่วนหนึ่งของความต้องการของคุณ

The DeadSnakes (เข้าใจแล้ว) PPA รักษา Python ออกมาไม่รวมอยู่ในการจัดการแพ็คเกจระบบ

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python2.7

คุณสามารถอ่านเพิ่มเติมเกี่ยวกับ PPA นี้ที่นี่

อย่างไรก็ตามในกรณีของคุณสิ่งนี้ไม่รวม Python 2.7 เนื่องจาก DeadSnakes ให้เฉพาะรุ่นหลักเท่านั้นที่ไม่รวมและไม่ได้เป็นจุดวางจำหน่าย เนื่องจาก Ubuntu มีแพ็คเกจ 2.7 สำหรับ Ubuntu 12.04 อยู่แล้ว DeadSnakes จะไม่ให้สิ่งนี้

มันอาจจะดีกว่าสำหรับคุณที่จะทำกรณีที่คุณไม่ควรใช้บรรจุภัณฑ์ดั้งเดิมกับอูบุนตูในกรณีนี้ ดูข้อความที่ตัดตอนมาจาก DeadSnakes;

Using third-party modules packaged for Debian or Ubuntu with the Python
interpreters from this repository is a bit of a mixed bag. For Python 2, Python
modules from the official repositories will not work, as a consequence of how
Python packaging works in Debian. For Python 3 on the other hand, all
pure-Python module packages at least should be available; compiled extension
modules will not work however.

In general, you're better off installing Python modules using the common Python
packaging tools rather than the system package manager. For an introduction into
the Python packaging ecosystem and its tools, refer to;
    http://guide.python-distribute.org/

A few of these tools might also be provided in this repository as a convenience.

หากคุณจำเป็นต้องใช้การจัดการแพคเกจระบบปฏิบัติการอย่างสมบูรณ์และไม่สามารถย้ายไปยัง Ubuntu รุ่นอื่นด้วยแพ็คเกจที่ DeadSnakes ให้มาหรือโดยพื้นฐานแล้วคุณมีตัวเลือกเหลืออยู่สองตัวเท่าที่ฉันเห็น

  1. คุณสามารถร้องขอ backport ของ Python 2.7.5 ไปยัง Ubuntu 12.04
  2. คุณสามารถสร้างPPAของคุณเองด้วย Python เวอร์ชันที่คุณต้องการ

หมายเหตุด้านข้าง : AskUbuntuเป็นStackExchangeที่ดีกว่าในการโพสต์สิ่งนี้ถึงมากกว่า SuperUser โดยทั่วไป


สมบูรณ์แบบขอบคุณ! จากประสบการณ์ของคุณ DeadSnakes ได้รับการดูแลเป็นอย่างดีหรือไม่?
Will

2
ใช่มันดูเหมือนจะเป็นที่นิยมและได้รับการดูแลอย่างดี ฉันจะจองให้ใช้เล็กน้อย
krondor

1
มีเพียง 2.7.4 สำหรับ 10.04 ไม่ใช่สำหรับ 12.04
Anthon

1
@ จากนั้นคุณก็ถูกต้องฉันไม่ได้สังเกตว่า DeadSnakes จะไม่แทนที่รุ่นใหญ่ดังนั้นเนื่องจาก Ubuntu ได้รวม Python 2.7 ไว้แล้ว Deadsnakes จะไม่ให้การเปิดตัวจุดสำหรับชุดนั้น ค่อนข้างพวกเขาให้ 3.3 สำหรับความแม่นยำ สิ่งนี้จะไม่ช่วย OP ในกรณีนี้
krondor

เมื่อวันที่ 14.04 ฉันต้องใช้ppa:fkrull/deadsnakes-python2.7(หมายเหตุคำต่อท้าย)
เครก Younkins

37

Felix Krull ยังได้รับการบำรุงรักษา (ในขณะนี้โดยไม่มีการทำลาย) PPA พร้อมกับ Python 2.7 รุ่นล่าสุดสำหรับ Ubuntu Precise, Trusty และ Utopic คุณสามารถใช้กระบวนการเดียวกันเช่น Krondor อธิบาย แต่ใช้แทนหรือ additionaly PPA ppa:fkrull/deadsnakes-python2.7นี้:

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7

นี่ควรเป็นคำตอบที่ยอมรับได้
cr8ivecodesmith

1
มีคำเตือน "หยุด" ในขณะนี้ แต่ใช้ได้ดีกับเครื่องที่ยังคงใช้งาน Ubuntu รุ่นเก่ากว่า สัญญาซื้อขายไฟฟ้าให้รุ่น2.7.12-1~precise1, 2.7.12-1~trusty1และ2.7.10-0+utopic1(สำหรับ 12.04, 14.04 และ 14.10)
mivk

5
เพิ่งทราบว่าfrull / deadsnakes-python2.7 ppa ถูกยกเลิก สำหรับรุ่นล่าสุด Python 2.7 (เช่น 2.7.13) ลองใช้jonathonf / python-2.7 ppa
โสกราตีส

คำเตือน - นี้ก่อให้เกิดปัญหาสำหรับฉันเมื่อการกระจายการอัพเกรด (12 -> 14) .. ฉันถูกทิ้งให้อยู่กับงูหลามตายอย่างแท้จริง .. ให้แน่ใจว่าได้ยกเลิก ppa นี้ก่อนที่จะอัพเกรด ..
dermen

เป็นเรื่องจริงสำหรับการอัปเดตการกระจายและ PPAS
อนาคตแสนสนุก
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.