Bagaimana cara menginstal versi Python terbaru di Debian secara terpisah atau meningkatkan?

35

Saya masih baru di Linux, jadi saya masih mencoba untuk memahami di mana executable dan perpustakaan mereka berada dan bagaimana menginstal paket, jadi saya punya Debian Wheezy 7.3 yang memiliki versi Python ini:

  • Python 2.7.3 (default)
  • Python 2.6.8

Jadi di direktori /usr/bin/ada file-file ini yang bisa saya panggil dari terminal:

  • python (yang merupakan tautan ke python2.7)
  • python2 (juga tautan ke python2.7)
  • python2.6 (Python 2.6.8 dapat dieksekusi)
  • python2.7 (Python 2.7.3 dapat dieksekusi)

dan di /usr/lib/, folder utama:

  • python2.6
  • python2.7

Saat ini versi terbaru dari Python adalah 2.7.6 yang ingin saya instal, tetapi saya tidak tahu caranya, saya mencoba menggunakan apt-get:

apt-get install python

itu output python is already the newest version..

Jadi bagaimana saya bisa menginstal versi terbaru Python? pada halaman unduhan Python ada tarball sumber, bagaimana saya bisa menggunakannya untuk menginstalnya secara terpisah seperti memiliki folder lain di /usr/lib/suka python2.7.6dan membuat pythontautan yang /usr/bin/menunjuk ke executable baru, atau mungkin memutakhirkan versi saat ini jika tidak akan merusak apa pun .

Pierre
sumber
Anda bisa backport Python 2.7.6 dari pengujian / tidak stabil dan ganti curent 2.7.3 Anda dengannya. Ini kemungkinan besar tidak akan menimbulkan masalah bagi Anda. Jika ya, Anda dapat dengan mudah kembali.
Faheem Mitha
Saya bahkan tidak menginstalnya, instalasi baru Debian dan ketik "python" dari baris perintah dan saya di shell python3.
frozenjim

Jawaban:

16

Anda mungkin mencari virtualenvatau pyenvatau metode non-sistem lain untuk menginstal Python. Metode menggunakan APT (Advance Package Tool) dan dpkg, memastikan bahwa semua bagian dari sistem bekerja dengan harmonis, jadi Anda mungkin ingin menginstal python di jalur yang terpisah, tersembunyi dari semua program lain yang dapat Anda panggil sesuka hati, yaitu tujuan dari pyenv/ virtualenv. Ini menjawab bagaimana menginstal versi python terbaru tanpa merusak sistem .

BTW, Anda dapat memeriksa versi terbaru dari python yang Debian di madison , sedangkan versi terbaru dari python 2 pada tanggal adalah yang Anda tunjukkan:

  ~  apt-cache policy python
python:
  Installed: 2.7.5-5
  Candidate: 2.7.5-5
  Version table:
 *** 2.7.5-5 0
        500 http://ftp.us.debian.org/debian/ testing/main i386 Packages
        100 /var/lib/dpkg/status

(pythonbrew tidak lagi dipertahankan).

Braiam
sumber
ok saya menginstal pip dan virtualenv sebagai root, jadi bagaimana saya bisa membuat lingkungan virtual dengan versi Python baru? sejauh yang saya tahu kita perlu menginstal versi baru terlebih dahulu bukan?
Pierre
1
@ Peter Saya pikir langkah pertama adalah pyenv install 2.7.6. Anda dapat memeriksa semua versi menggunakanpyenv install -l
Braiam
27

Ok setelah banyak pencarian saya memutuskan untuk membangun Python dari sumber, jadi saya mengunduh tarball sumber terkompresi dari halaman unduh Python , sekarang kita perlu menginstal build-essentialpaket untuk dapat mengkompilasi file sumber:

apt-get install build-essential

kita juga perlu menginstal paket pengembangan ini yang diperlukan untuk beberapa modul Python:

libbz2-dev
libsqlite3-dev
libreadline-dev
zlib1g-dev
libncurses5-dev
libssl-dev
libgdbm-dev

selanjutnya kita mengekstrak file sumber yang diunduh:

tar zxf Python-2.7.6.tgz

lalu kita cdmasuk ke direktori yang diekstrak:

cd Python-2.7.6

dan ikuti instruksi pada dokumen Python :

./configure --prefix=/opt/python
make
make install # <- in the docs but don't execute: use checkinstall

Saya memilih untuk menginstalnya di bawah direktori /opt/pythonyang saya buat sebelumnya, juga saya menggunakan paket checkinstall untuk membuat file deb. Sehingga saya dapat menghapus dengan mudah nanti, jadi kami menginstalnya terlebih dahulu:

apt-get install checkinstall

dan gantikan baris terakhir make installdengan:

checkinstall

sekarang saya memiliki instalasi python baru /opt/python/lib/python2.7dan file binernya ada di /opt/python/bin/python2.7.

sekarang saya bisa menjalankan di baris perintah /opt/python/bin/python2.7untuk menggunakan versi Python ini, juga kita bisa membuat tautan ke executable ini sehingga kita tidak mengetikkan path lengkap, saya menamainya python2.7.6.

ln -s /opt/python/bin/python2.7 /usr/local/bin/python2.7.6

juga direktori /opt/python/bintersebut nantinya akan berisi executable lain seperti pipdan virtualenvatau modul lain yang Anda instal sehingga kami dapat menambahkannya ke variabel lingkungan PATH, edit ~/.profiledan tambahkan baris ini:

PATH="$PATH:/opt/python/bin"

dan lari:

source ~/.profile

Saya menambahkan path ke akhir karena mengandung nama yang dapat dieksekusi seperti yang ada di /usr/binsuka python, python2dan python2.7jadi kami menjaga prioritas yang lebih tinggi untuk /usr/bin.

Pierre
sumber
Sekarang, apakah Anda kebetulan tahu cara mengkonfigurasi python baru Anda untuk melihat modul yang diinstal melalui apt-get?
elsurudo
Sayangnya untuk Python 2.6, kompilasi dari sumber tidak berfungsi dengan baik pada Debian 8 (Jessie) tetapi saya menemukan, setidaknya untuk Raspberry Pi, bahwa saya dapat menggunakan paket yang lebih lama dari paket.debian.org . Urutannya, dengan anggapan build-essential sudah ada adalah sesuatu seperti libdb, python2.6-minimal, python2.6, libpython2.6, python2-6-dev tetapi dpkg -iakan memberi tahu Anda apa yang dibutuhkan.
Charlie Clark
1
@elsurudo Itu tidak masuk akal, karena modul mungkin tidak didukung pada versi baru Anda. Jika Anda ingin kontrol penuh atas Python Anda (seperti yang Anda lakukan saat kompilasi dari sumber), Anda juga ingin menginstal modul secara terpisah.
tripleee
-1

Anda dapat gunakan:

aptitude install python3.5  

atau, jika Anda belum menginstal aptitude, maka Anda dapat menginstalnya menggunakan:

apt-get install aptitude
john
sumber