Bagaimana cara menggunakan Python 2.7.x terbaru “The Right Way” di Ubuntu 12.04 LTS?

28

Proyek saya perlu tetap terkini pada rilis Python, tetapi 12.04LTS saat ini macet pada 2.7.3, meskipun 2.7.5 sudah keluar sekarang. Apakah ada cara saya bisa tetap lebih lancar tanpa kompilasi secara manual? Kami diharuskan untuk tetap pada instalasi berbasis paket untuk Python. Apa cara "benar" untuk menangani ini?

Terima kasih!

Akan
sumber

Jawaban:

14

EDIT: * Seperti @Anthon telah tunjukkan dalam komentar, PPA ini tidak termasuk Python 2.7 untuk Ubuntu 12.04 (Precise). Lihat jawaban funky-future di bawah , yang menurut saya tidak ada ketika saya awalnya merespons.

Cara "Ubuntu" yang lebih disukai untuk menangani paket-paket yang tidak termasuk dalam semesta mereka secara default adalah dengan menggunakan PPA (repositori pihak ketiga), daripada mengkompilasi secara manual. Anda mempertahankan manfaat manajemen paket, pembaruan, dan resolusi ketergantungan dengan cara ini.

Namun, repositori pihak ketiga TIDAK didukung secara resmi, jika itu adalah bagian dari kebutuhan Anda.

The DeadSnakes (get it) PPA mengelola rilis Python tidak termasuk dalam manajemen paket sistem.

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

Anda dapat membaca lebih lanjut tentang PPA ini di sini .

Namun, dalam kasus Anda ini tidak termasuk Python 2.7, karena DeadSnakes hanya menyediakan versi utama yang tidak termasuk dan tidak menunjukkan rilis. Karena Ubuntu sudah mengemas 2.7 untuk Ubuntu 12.04, DeadSnakes tidak akan menyediakan ini.

Mungkin lebih baik bagi Anda untuk membuat kasing bahwa Anda tidak boleh menggunakan kemasan asli dengan Ubuntu dalam kasing ini. Lihat kutipan ini dari 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.

Jika Anda benar-benar diharuskan untuk menggunakan manajemen paket sistem operasi, dan tidak dapat pindah ke versi lain dari Ubuntu dengan paket yang disediakan oleh DeadSnakes, atau secara native, Anda hanya memiliki dua opsi tersisa, seperti yang saya lihat.

  1. Anda dapat meminta backport dari Python 2.7.5 ke Ubuntu 12.04.
  2. Anda bisa membuat PPA Anda sendiri dengan versi Python yang Anda butuhkan.

catatan tambahan : AskUbuntu adalah StackExchange yang lebih baik untuk mengirim hal-hal seperti ini, daripada SuperUser pada umumnya.

Krondor
sumber
Sempurna terima kasih! Dalam pengalaman Anda, apakah DeadSnakes terpelihara dengan baik?
Will
2
Ya, sepertinya memang populer dan dipelihara dengan baik. Saya akan punya sedikit reservasi menggunakannya.
krondor
1
Ini hanya memiliki 2,7,4 untuk 10,04 bukan untuk 12,04
Anthon
1
@Anton Anda benar, saya tidak memperhatikan itu. DeadSnakes tidak akan menggantikan rilis besar, jadi karena Ubuntu sudah bundel Python 2.7, Deadsnakes tidak akan memberikan rilis poin untuk seri itu. Sebaliknya mereka menyediakan 3,3 untuk Precise. Ini tidak akan membantu OP dalam kasus ini.
krondor
Pada 14,04 saya harus menggunakan ppa:fkrull/deadsnakes-python2.7(perhatikan akhiran)
Craig Younkins
37

Felix Krull juga mempertahankan (seperti saat ini yang tidak terawat) PPA dengan rilis Python 2.7 terbaru untuk Ubuntu Precise, Trusty and Utopic. Anda dapat menggunakan proses yang sama seperti krondor menjelaskan, tetapi menggunakan bukan atau additionaly PPA ini: ppa:fkrull/deadsnakes-python2.7.

sudo add-apt-repository ppa:fkrull/deadsnakes-python2.7
sudo apt-get update
sudo apt-get install python2.7
masa depan yang funky
sumber
Ini harus menjadi jawaban yang diterima.
cr8ivecodesmith
1
Ini memiliki peringatan "dihentikan" sekarang, tetapi bekerja dengan baik untuk mesin yang masih menjalankan versi Ubuntu yang lebih lama. PPA menyediakan versi 2.7.12-1~precise1, 2.7.12-1~trusty1dan 2.7.10-0+utopic1(untuk 12,04, 14,04 dan 14,10).
mivk
5
Perhatikan saja bahwa frull / deadsnakes-python2.7 ppa dihentikan. Untuk rilis Python 2.7 terbaru (seperti 2.7.13), coba gunakan jonathonf / python-2.7 ppa.
Socrates
peringatan - ini menyebabkan masalah bagi saya ketika meningkatkan distribusi (12 -> 14) .. Saya dibiarkan dengan python yang benar-benar mati .. Pastikan untuk membatalkan ppa ini sebelum meningkatkan ..
dermen
baik, itu berlaku untuk setiap pembaruan distribusi dan ppas.
funky-future