Instal versi python yang lebih baru & lebih lama di debian?


12

Bagaimana saya bisa menginstal versi python tambahan di Debian (jessie). Di Ubuntu saya dapat menggunakan PPA "deadsnakes" yang akan memberi saya versi python yang saya inginkan, dengan nama versi dalam perintah (misalnya python33untuk python 3.3). Ini memungkinkan saya untuk menginstal semuanya di samping satu sama lain. Saya dapat menggunakan virtualenvs untuk menginstal paket python spesifik untuk versi tertentu tanpa mengacaukan paket sistem. Saya memelihara beberapa perpustakaan python, dan mereka perlu bekerja pada banyak versi python. Jika saya memiliki biner python diinstal, maka tox akan mengurus menggunakan virtualenvs untuk setiap versi python.

Jadi, apa yang setara dengan debian dari PPA deadsnakes Ubuntu?

PEMBARUAN Saya ingin menginstal python: 2.6, 2.7, 3.3, 3.4 dan 3.5.


Bisakah Anda menentukan versi Python mana yang ingin Anda instal? Saya pikir Jessie memiliki beberapa versi berbeda yang tersedia.
Faheem Mitha

Menurut pendapat saya Anda mungkin lebih baik hanya menginstal berbagai versi Python dari sumber.
Celada

Jawaban:


9

Menggunakan PPA

Anda dapat menggunakan PPA di Debian. Pilih versi Ubuntu yang sedikit dari sebelum versi Debian Anda, dan itu harus memiliki semua perpustakaan yang diperlukan. Untuk mengi, PPA oneiric tampaknya ok (tetapi tidak memiliki versi Python yang lebih baru). Untuk jessie, PPA yang terpercaya harus bekerja.

Untuk menambahkan PPA di Debian, buat file yang /etc/apt/sources.list.d/deadsnakes.listberisi

deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 
deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu trusty main 

Unduh kunci penandatanganan AKP dengan

gpg --keyserver keyserver.ubuntu.com --recv-keys DB82666C

kemudian tambahkan kunci ke basis data kunci APT dengan

gpg --export DB82666C | sudo apt-key add -

Terakhir jalankan apt-get updatedan instal paket yang diinginkan.

Jika Anda tidak dapat membuat PPA berfungsi karena beberapa alasan (mungkin Anda tidak dapat menemukan versi yang berfungsi dengan perpustakaan yang Anda miliki), Anda dapat mengunduh sumber dan mengkompilasi ulang untuk distribusi Anda.

Menggunakan sistem chroot

Apa yang biasanya saya lakukan untuk menguji kompatibilitas dengan versi lain adalah menjalankan distribusi yang lebih lama atau lebih baru dalam sistem chroot . Misalnya, Anda dapat menginstal berbagai versi Ubuntu dengan versi Python yang Anda minati, atau Anda dapat menginstal trusty dalam chroot dan menginstal PPA di sana. Untuk informasi lebih lanjut, lihat panduan schroot saya .


1
Anda harus menghindari menggunakan PPA Ubuntu di Debian, karena dapat menyebabkan masalah atau konflik lainnya. (Juga dimungkinkan untuk menggunakan lingkungan pyenvvirtual untuk beberapa versi Python)
Thomas Ward

Saya dapat mengonfirmasi bahwa saya telah berhasil menginstal python 2.6, 2.7, 3.1, 3.2, 3.3, 3.5 dan 3.6 pada pengujian debian saat ini menggunakan pendekatan ini. Satu-satunya peringatan yang saya temui adalah bahwa saya perlu menggali versi lama libssl1.0.0yang saya temukan di sini: packages.debian.org/jessie/libssl1.0.0 . Saya juga menggunakan paket versi xenial (16.04) (saat ini lts), meskipun saya percaya trusty masih berfungsi.
Att Righ

1

Saya akan mengatakan tidak ada Debian yang setara dengan PPA deadsnakes Ubuntu

Di bawah Debian, menggunakan paket atau repositori Ubuntu tidak dianjurkan. Ketika posting ini muncul di mesin pencari, saya mengusulkan di sini jawaban yang tidak terlalu berbahaya untuk sistem Debian.

Menginstal Python secara manual adalah mungkin. Sebagai contoh, Anda dapat menggunakan instruksi berikut untuk menginstal versi 3.5.2

Prasyarat

Instal dependensi:

sudo apt-get update && sudo apt-get install libssl-dev openssl

Membangun Python

Anda bisa membuat Python di folder tertentu menggunakan --prefixparameter dari configureperintah:

wget https://www.python.org/ftp/python/3.5.2/Python-3.5.2.tgz
tar zxf Python-3.5.2.tgz
cd Python-3.5.2/
./configure --prefix=/usr/local
make
sudo make install

Alih-alih /usr/local, seseorang dapat menggunakan direktori basis lain. Sebagai contoh:

sudo mkdir /opt/python-3.5.2
./configure --prefix=/opt/python-3.5.2

Memilih versi python

Menggunakan variabel lingkungan PATH dapat membantu memilih versi python yang tepat untuk digunakan. Tetapi kita juga bisa menggunakan symlink:

sudo ln -s /opt/python-3.5.2/bin/python3.5 /usr/local/bin/python3
sudo ln -s /opt/python-3.5.2/bin/pip3.5 /usr/local/bin/pip3

-fOpsi menggunakan akan memungkinkan Anda untuk mengganti symlink yang ada

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.