Apakah python2.7 akan tersedia untuk 10,04 di masa depan?

27

Karena Ubuntu 10.04 adalah rilis LTS akankah ia mendukung python 2.7 sebagai versi paket default atau paling tidak memiliki paket python2.7 di masa depan?

Karena itu akan menjadi rilis utama python 2.x terakhir dan dimaksudkan untuk tetap di tempat untuk waktu yang lama, saya memutuskan untuk menggunakannya. Saya mengkompilasinya dari sumber (Setelah membangun deps tentu saja) tetapi sekarang dan kemudian saya menemukan masalah kecil.

Apakah aman untuk mendefinisikan python 2.7 saya yang dikompilasi sebagai default, karena ada beberapa aplikasi distribusi yang bekerja pada python.

crodjer
sumber

Jawaban:

16

Tidak, tidak aman untuk mendefinisikan 2.7 sebagai juru bahasa Python default Anda di Lucid . Dan saya tidak berpikir itu akan terjadi di masa depan.

  • Tidak ada peningkatan versi utama dari perangkat lunak apa pun dalam satu rilis.

    Jadi python2.7 tidak akan menggantikan 2.6 sebagai penerjemah default. Pembaruan semacam ini hanya dilakukan di antara versi, dalam satu versi - terutama LTS - hanya ada yang disebut upgrade rilis stabil, yaitu perbaikan bug dan pembaruan terkait keamanan.

Namun, sangat aman untuk menggunakan python2.7, mendefinisikan penerjemah Anda sebagai #!/usr/bin/python2.7dan memiliki pengguna menginstalnya menggunakan make altinstallpada sumber python, bersama python2.6

Stefano Palazzo
sumber
41

Punya masalah yang sama dengan VPS yang tidak dapat ditingkatkan ke Maverick (bahkan gambar LTS baru tidak selalu tersedia tepat waktu). Jawaban Marius melakukan trik untuk memulai, tetapi harus diperluas:

Tambahkan PPA ke sumber Anda

Jika Anda berada dalam situasi saya, saran sederhana untuk berlari add-apt-repositorytidak akan berhasil untuk Anda. Jadi mari kita lakukan ini dengan cara kuno:

  1. Buka file /etc/apt/sources.list(Anda perlu hak akses root; jika Anda berada di shell, ini mungkin berarti menjalankan sudo vim /etc/apt/sources.list).

  2. Pergi jauh ke bawah file (jika menggunakan vim, beralih ke mode menyisipkan dengan menekan i) dan tambahkan baris berikut:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
  3. Simpan dan keluar (dalam vim: jenis :wq) dan kembali ke shell.

  4. Masukkan yang berikut ini (Anda dapat menemukan kunci yang benar di PPA ; itu adalah bagian setelah slash dalam "detail teknis" - pastikan Anda mendapatkan yang benar):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. Sekarang masukkan yang berikut untuk memperbarui daftar sumber Anda:

    sudo apt-get update

Instal dan atur Python 2.7

  1. Buka shell di server Anda dan masukkan yang berikut ini:

    sudo apt-get install python2.7 python2.7-dev
  2. Untuk mulai easy_installbekerja, dapatkan distributeskrip bootscrap:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
  3. Akhirnya, Anda ingin pipdan virtualenvbekerja jika Anda berencana untuk melakukan sesuatu yang serius:

    easy_install-2.7 pip
    pip-2.7 install virtualenv

Menyiapkan virtualenv

  1. Buat folder untuk lingkungan baru Anda dan buka:

    mkdir my_env && cd my_env
  2. Buat lingkungan virtual itu sendiri (titik menunjukkan direktori saat ini adalah lokasi lingkungan, ganti dengan jalur yang benar jika Anda melewatkan langkah sebelumnya):

    virtualenv --no-site-packages --python=python2.7 .
  3. Aktifkan lingkungan. Anda akan melihat perubahan prompt shell untuk mencerminkan lingkungan aktif:

    source bin/activate
  4. Apa pun yang Anda lakukan di shell ini sekarang akan menggunakan skrip di binfolder lingkungan virtual dan paket Python lingkungan itu. Ingatlah bahwa opsi --no-site-packagesberarti Anda memulai dengan paket minimal (termasuk pip, bagaimanapun), jadi Anda perlu menginstal semua paket yang Anda perlukan.

  5. Setelah selesai, nonaktifkan lingkungan (ini adalah perintah yang dikenali oleh lingkungan aktif):

    deactivate

Anda juga dapat menginstal paket ke lingkungan virtual dengan meneruskan -Eopsi ke pip(misalnya pip install some-package -E /path/to/virtual/environmentmenginstal some-packageke lingkungan virtual di jalur yang diberikan). Ingatlah bahwa Anda akan memiliki beberapa versi berbeda yang pipsesuai dengan versi Python yang diinstal.

Ini adalah ide yang baik untuk digunakan pip-2.7jika Anda ingin menginstal paket untuk Python 2.7 ketika bekerja di luar lingkungan virtual ( --python=python2.7opsi yang kami berikan virtualenvberarti lingkungan virtual akan menggunakan versi Python 2.7 dari alat yang disediakannya, sehingga Anda tidak perlu khawatir tentang itu).

Alan Plum
sumber
1
Dalam kasus saya, saya sudah menginstal pip untuk 2.6, dan saya harus easy_install-2.7 -U pipmemaksa instalasi versi 2.7. Tapi terima kasih, ini sangat membantu!
Gabe Moothart
2
Untuk langkah 2 di bawah "Instal dan atur Python 2.7" harus saya lakukan wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. Dan kemudian untuk mendapatkan pip sudo python2.7 -m easy_install pipdiikuti oleh sudo python2.7 -m easy_install --upgrade pip. Opsi --tidak memeriksa sertifikat diperlukan untuk mengatasi keluhan dari wget tentang sertifikat SSL. (Lihat pypi.python.org/pypi/setuptools#unix-wget )
zlovelady
10

Ada PPA dengan Python 2.7 yang dibangun untuk Ubuntu 10.04. Ini mungkin lebih aman / lebih nyaman daripada membangun dari sumber.

Marius Gedminas
sumber
2

Ini menyelesaikan semua jenis masalah yang saya alami di /programming/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu .

Sekarang libpython2.7.so.1.0menautkan ke python2.7 saya dll semua tampak lebih bahagia.

Bagian terakhir yang saya butuhkan untuk mengetahuinya adalah mod_wsgiinstalasi. Jika Anda hanya mengeluarkan:

$ apt-get install libapache2-mod-wsgi

Maka ini akan dikompilasi untuk Python2.6 :(

$ ldd /usr/lib/apache2/modules/mod_wsgi.so

libpython2.6.so.1.0 => /usr/lib/libpython2.6.so.1.0 (0x00178000)

Jadi saya mengikuti instruksi yang diberikan oleh Gork-Zope di sini .

Saya akhirnya memiliki server yang berfungsi. Terima kasih.

Naoko
sumber
1

saya tidak berpikir begitu karena itu akan perlu mengubah banyak program dan perpustakaan yang terkait dengan versi 10,04. Sebenarnya banyak pekerjaan di Ubuntu dibuat menggunakan versi python tertentu. Mengubahnya menjadi python akan mengubah banyak file sistem.

Untuk 10.10 tersedia dari sinaptik / aptitude hanya dengan menginstal python2.7 (Anda juga dapat menginstal 3 dan 3.1) tetapi untuk 10,04 tidak ada pekerjaan yang dilakukan untuk mencapai 10,04.

10.10 memiliki python 2.6 sebagai default. Maaf jika jawabannya tidak positif tetapi hanya ingin memberi Anda gambaran tentang perubahan tersebut.

EDIT - Mengubah Python 2.7 ke Python 2.6 sebagai default karena diperiksa dua kali dari komentar di bawah ini. Terima kasih.

Luis Alvarado
sumber
Saya baru saja memeriksa 10.10 dalam kotak virtual, secara default memiliki python 2.6.6, meskipun ada 2,7 paket yang tersedia untuk maverick. Saya pikir 11,04 yang memilikinya sebagai default. Saya biasanya terus memperbarui dan mengubah distro tetapi sedang mempertimbangkan untuk tetap pada 10,04, untuk dukungan jangka panjang dan penyesuaian saya.
crodjer
ya, 11,04 memiliki 2,7 per default sejak beberapa hari
Stefano Palazzo