Bagaimana saya bisa memutakhirkan Python ke 2.7.9 di Ubuntu 14.4?

32

Ubuntu 14.4 hadir dengan Python 2.7.6 built-in, tetapi saya ingin memutakhirkannya menjadi 2.7.9 (memiliki fitur keamanan yang saya inginkan).

Apakah itu mungkin? Jika demikian, bagaimana ini bisa dicapai?

Moomima
sumber
2
Versi hulu dari python 2.7 akan selalu menjadi 2.7.6. Periksa distribusi nomor versi, dan kemudian memeriksa changelog ( packages.ubuntu.com/source/trusty/python2.7 ) untuk melihat apakah mereka update keamanan telah backported.
Roger Sherman

Jawaban:

16

Anda dapat menggunakan pyenv:

 git clone https://github.com/pyenv/pyenv.git ~/.pyenv
 git clone https://github.com/pyenv/pyenv-virtualenv.git ~/.pyenv/plugins/pyenv-virtualenv

Kemudian tambahkan

   #   for PyEnv
  export PYENV_ROOT="$HOME/.pyenv"
  export PATH="$HOME/.pyenv/bin:$PATH"
  export PATH="$HOME/.pyenv/shims:$PATH"
  eval "$(pyenv init -)"

ke .bash_profile maka Anda dapat melihat versi python yang ingin Anda instal atau perbarui:

pyenv install --list

mau python 2.7.10? Anda dapat mencoba:

 pyenv virtualenv 2.7.10

Semoga ini bisa membantu Anda.

Jeremy Anifacc
sumber
Untuk Ubuntu, blok itu berfungsi lebih baik di ~ / .bashrc daripada ~ / .bash_profile. Kemudian lakukan exec "$ SHELL".
brendan
31

ppa: fkrull / deadsnakes adalah versi terbaru dari python2.7

sudo add-apt-repository ppa:fkrull/deadsnakes
sudo apt-get update
sudo apt-get upgrade

Ini akan memutakhirkan python ke 2.7.10

Seperti
sumber
1
dicoba di mesin pengembangan (semua 14,04 desktop), alternatif yang sangat bagus.
Yonsy Solis
Tapi saya menemukan itu tidak kompatibel dengan aplikasi saya.
Seperti
4
Berhati-hatilah karena mengandalkan paket tidak resmi, dan / atau PPA, terutama untuk sesuatu yang mendasar seperti Python di Ubuntu, mem-bypass proses keamanan penting & dapat menyebabkan banyak masalah. Beberapa paket secara eksplisit bergantung pada paket atau versi resmi. Sebagai gantinya, Anda mungkin ingin menggunakan virtualenv dengan versi python yang lebih baru untuk aplikasi yang Anda perlukan saja. Lihat juga Tingkatkan ke Python 2.7.9 pada Ubuntu 14.04 LTS, dan buat paket .deb Anda sendiri untuk penyebaran - Renoir Boulanger
nealmcb
Baik. Kamu benar. Saya menyerah pendekatan saya beberapa bulan yang lalu.
Seperti
3
Ini akan meningkatkan semua paket Anda.
mpen
10

Saya bukan penggemar jawaban sebelumnya yang menyarankan menginstal dari berbagai AKP. Tidak ada rasa tidak hormat yang dimaksudkan, tetapi saya tidak tahu orang-orang yang membangunnya dan saya tidak tahu apa yang mungkin ada di sana. Dalam lingkungan apa pun di mana seseorang harus menjawab kepada profesional keamanan, praktik itu akan disukai.

Saya baru saja menemukan bahwa mengunduh 2.7.9 dari sumber dan menginstalnya berdampingan adalah awal yang baik. Posting blog yang luar biasa ini membahas langkah-langkahnya. (dibuat ulang di sini agar sesuai dengan pedoman overflow tumpukan)

wget https://www.python.org/ftp/python/2.7.9/Python-2.7.9.tgz
tar xfz Python-2.7.9.tgz
cd Python-2.7.9/
./configure --prefix /usr/local/lib/python2.7.9
make
make install

Uji apakah versinya berfungsi

/usr/local/lib/python2.7.9/bin/python -V
Python 2.7.9

Sekarang saya telah menginstal 2.7.9, saya dapat memanggilnya secara langsung atau menghubungkannya dari mana pun saya inginkan. (atau salin ke virtualenv dll.)

Dan perhatikan bahwa saya tiba di sini dari situasi di mana saya mendapatkan peringatan platform tidak aman, dan peringatan SNI Hilang. Yang membawaku ke sini . Saya membayangkan banyak orang menemukan pertanyaan ini melalui jalan yang sama. Dan jika itu sebabnya Anda ada di sini, cuplikan ini mungkin berguna bagi Anda juga

pip install urllib3[secure]
jorfus
sumber
Ini sebenarnya jawaban yang lebih baik, terutama jika Anda sudah menggunakan virtualenv. Alasan saya merasa bahwa ini lebih baik, karena tidak bergantung pada aplikasi pihak ketiga atau repositori yang dapat merusak hal lain.
Andre
3

Ini repositori pihak ketiga baru yang ditingkatkan:

sudo add-apt-repository ppa:jonathonf/python-2.7
sudo apt-get update
sudo apt-get install python2.7
python --version
arbabnazar
sumber
2

Anda dapat pergi ke python.org dan mengunduh kompilasi file .tar.gz dan menginstalnya. Anda akan memerlukan alat dasar untuk mengkompilasi kode sumber. Saya tidak ingat apakah paket "build-essential" akan mencukupi tetapi cobalah.

jaumzors
sumber
2

Versi yang Anda inginkan sudah ada di Ubuntu, dalam rilis Vivid (pre). Jika Anda berani, Anda dapat mencampur rilis dan menginstal versi Python Vivid di bawah Trusty. Di bawah ini adalah solusi umum yang berfungsi pada beberapa paket, saya tidak dapat memberikan garansi dengan Python. Kemungkinannya ~ 50/50 bahwa itu akan berhasil. Namun, jika Anda menemukan repositori backports yang tepat untuk 14,04 dengan versi paket yang diperlukan, maka itu akan menjadi pilihan yang lebih baik.

  1. Anda memiliki baris '... trusty main' di Anda /etc/apt/sources.list, salin dua kali, ubah 'trusty' menjadi 'utopic' dan 'vivid'.

  2. Jalankan apt-get updatekemudian apt-get -t vivid install python2.7. Tinjau dependensi yang diinstal sebelum melanjutkan. Batalkan pembaruan ketika Anda mencurigai ada kerusakan pada sistem Anda (paket-paket penting yang dihapus, dll.).

  3. Hapus atau hash dua baris dari /etc/apt/sources.list.

Jangan pernah melakukannya di mesin produksi. Buat cadangan OS Anda dan siapkan media boot untuk memulihkannya jika perlu. Harapkan masalah pada peningkatan. Anda sudah diperingatkan.

sam_pan_mariusz
sumber