Python2.7 gelecekte 10.04 için geçerli olacak mı?


27

Ubuntu 10.04 bir LTS sürümü olduğundan, varsayılan paket koruyucu sürümü olarak python 2.7'yi destekleyecek mi yoksa gelecekte en azından bir python2.7 paketi olacak mı?

Son ana python 2.x sürümü olacağı ve uzun süre yerinde kalması amaçlandığından kullanmaya karar verdim. Kaynaktan derledim (Tabii ki inşa ettikten sonra) ama şimdi ve sonra küçük problemler buldum.

Derlenmiş python 2.7'yi varsayılan olarak tanımlamak güvenli midir, çünkü python üzerinde çalışan bazı dağıtım uygulamaları vardır.

Yanıtlar:


16

Hayır, 2.7'yi Lucid'deki varsayılan Python tercümanınız olarak tanımlamanız güvenli değildir . Ve gelecekte olacağını sanmıyorum.

  • Bir sürümde herhangi bir yazılımın büyük sürüm yükseltmeleri yoktur.

    Bu nedenle, python2.7 varsayılan tercüman olarak 2,6 yerine geçmeyecek. Bu tür bir yükseltme yalnızca sürümler arasında yapılır, bir tanesinde - özellikle bir LTS'de - yalnızca kararlı sürüm yükseltmeleri, yani hata düzeltmeleri ve güvenlikle ilgili yükseltmeler vardır.

Ancak, tercümanınızı tanımlayan #!/usr/bin/python2.7ve kullanıcıların make altinstallpython2.6 ile birlikte python kaynağını kullanarak kurmalarını sağlayan python2.7'yi kullanmak tamamen güvenlidir.


41

Maverick'e yükseltilemeyen bir VPS'de de aynı problem vardı (yeni LTS görüntüleri bile her zaman zamanında kullanıma sunulmadı). Marius'un cevabı başlamamı sağlamak için hile yaptı, ancak şu konulara genişlemesi gerekiyor:

PPA'yı kaynaklarınıza ekleyin

Benim durumumda iseniz, koşmanın basit tavsiyesi add-apt-repositorysizin için işe yaramaz. Öyleyse bunu eski moda bir şekilde yapalım:

  1. Dosyayı açın /etc/apt/sources.list(kök ayrıcalıklarına ihtiyacınız var; kabuğun içindeyseniz, bu muhtemelen çalışıyor demektir sudo vim /etc/apt/sources.list).

  2. Dosyanın altına kadar gidin (kullanıyorsanız vim, tuşuna basarak ekleme moduna geçin i) ve aşağıdaki satırları ekleyin:

    deb http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    deb-src http://ppa.launchpad.net/fkrull/deadsnakes/ubuntu lucid main 
    
  3. Kaydet ve çık (in vim: yaz :wq) ve bir kabuğa geri dön.

  4. Aşağıdakini girin ( PPA'da doğru anahtarı bulabilirsiniz ; "teknik detaylar" bölümünde eğik kısımdan sonraki kısımdır - doğru olanı aldığınızdan emin olun):

    sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys DB82666C
  5. Şimdi kaynak listenizi güncellemek için aşağıdakileri girin:

    sudo apt-get update

Python 2.7'yi kurun ve kurun

  1. Sunucunuzda bir kabuk açın ve aşağıdakini girin:

    sudo apt-get install python2.7 python2.7-dev
  2. Almak için easy_installçalışan olsun distributebootscrap komut:

    curl -O http://python-distribute.org/distribute_setup.py
    python2.7 distribute_setup.py
    
  3. Son olarak, ciddi bir şey yapmayı planlıyorsanız istiyor pipve virtualenvçalışıyorsunuz:

    easy_install-2.7 pip
    pip-2.7 install virtualenv
    

Bir sanalenv kurma

  1. Yeni ortamınız için klasörü oluşturun ve açın:

    mkdir my_env && cd my_env
  2. Sanal ortamın kendisini oluşturun (nokta, geçerli dizinin ortamın konumu olduğunu gösterir, önceki adımı atladıysanız doğru yolla değiştirin):

    virtualenv --no-site-packages --python=python2.7 .
  3. Çevreyi etkinleştirin. Etkin ortamı yansıtacak şekilde kabuk istemi değişikliklerini fark edeceksiniz:

    source bin/activate
  4. Bu kabukta ne yaparsanız yapın şimdi sanal ortamın binklasöründeki komut dosyalarını ve o ortamın Python paketlerini kullanacak . Seçeneğin --no-site-packages, minimum paket grubuyla başladığınız anlamına gelir ( pipbununla birlikte), bu nedenle ihtiyacınız olan tüm paketleri kurmanız gerekir.

  5. İşiniz bittiğinde çevreyi devre dışı bırakın (bu, aktif ortam tarafından tanınan bir komuttur):

    deactivate

-ESeçeneği pip(ör pip install some-package -E /path/to/virtual/environment. some-packageVerilen yola sanal ortama yüklemek için) ileterek paketleri sanal ortama da yükleyebilirsiniz . pipYüklü farklı Python sürümlerine karşılık gelen birkaç farklı sürüme sahip olduğunuzu unutmayın .

Kullanımı iyi bir fikirdir pip-2.7sanal ortamda (dışında çalışırken Python 2.7 için paketleri yüklemek istiyorsanız --python=python2.7biz geçirilen seçenek virtualenvaracı bunu yapmak zorunda kalmamak için, sağladığı araçların Python 2.7 sürümlerini kullanır sanal ortam Bunun için endişelenmek).


1
Benim durumumda zaten 2.6 için pip kurmuştum easy_install-2.7 -U pipve 2.7 sürümünü yüklemeyi zorlamak zorunda kaldım . Ama teşekkürler, bu harika bir yardım!
Gabe Moothart

2
"Python 2.7'yi kur ve kur" altındaki 2. adım için yapmak zorunda kaldım wget --no-check-certificate https://bootstrap.pypa.io/ez_setup.py -O - | sudo python2.7. Ve sonra pip almak için sudo python2.7 -m easy_install pipizledi sudo python2.7 -m easy_install --upgrade pip. --No-check-sertifika seçeneği, SSL sertifikasıyla ilgili bir şikayeti aşmak için gerekliydi. (Bkz. Pypi.python.org/pypi/setuptools#unix-wget )
zlovelady

10

Ubuntu 10.04 için inşa edilmiş Python 2.7 ile bir PPA var. Kaynaktan inşa etmekten daha güvenli / daha uygun olabilir.


2

Bu, https://stackoverflow.com/questions/7561221/undefined-symbol-pyobject-nextnotimplemented-error-when-loading-psycopg2-modu'da yaşadığım her türlü sorunu çözdü .

Şimdi libpython2.7.so.1.0benim python2.7 vb bağlanma hepsi mutlu görünüyor.

Çözmem gereken son parça mod_wsgikurulumdu. Eğer sadece sorun çıkarırsanız:

$ apt-get install libapache2-mod-wsgi

Sonra bu Python2.6 :( için derlenecek.

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

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

Bu yüzden burada Gork-Zope tarafından verilen talimatları izledim .

Sonunda çalışan bir sunucum var. Teşekkür ederim.


1

10.04 versiyonuyla ilişkili program ve kütüphanelerin çoğunun değiştirilmesi gerekeceğinden bunu sanmıyorum. Aslında Ubuntu'daki eserlerin çoğu belirli bir python versiyonu kullanılarak yapılmıştır. Python'a değiştirmek birçok sistem dosyasını değiştirir.

10.10 için, sadece python2.7 (ayrıca 3 ve 3.1'i de yükleyebilirsiniz) kurarak sinaptik / yetenekten elde edilebilir, ancak 10.04 için 10.04 için yapılacak hiçbir iş yoktur.

10.10, varsayılan olarak python 2.6'ya sahiptir. Cevap olumlu olmasa da özür dilerim, sadece size değişiklikler hakkında bir fikir vermek istedim.

EDIT - Python 2.7, varsayılan olarak Python 2.6 olarak değiştirildi, çünkü aşağıdaki yorumlardan iki kez kontrol edildi. Teşekkür ederim.


Sanal kutuda 10.10'u yeni kontrol ettim, varsayılan olarak 2.6.6 python var, ancak maverick için 2.7 paket mevcut. Varsayılan olarak 11.04 olduğunu düşünüyorum. Dağıtımları güncellemeye ve değiştirmeye devam ediyorum, ancak uzun vadeli destek ve özelleştirmelerim için 10.04'e bağlı kalmayı düşünüyordum.
crodjer

evet, 11.04, birkaç gündür varsayılanda 2.7 değerine sahip
Stefano Palazzo
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.