Ubuntu 12.04'te python 2.7.5 sürümüne yükseltme


9

Ubuntu 12.04 python v 2.7.3varsayılan olarak birlikte gelir . Bunu yükseltmek istiyorum v 2.7.5. Bu soruda verilen talimatları denedim ,

sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev

cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz

tar -xvf Python-2.7.5.tgz
cd Python-2.7.5

./configure
make
sudo make altinstall

Son komut hatayla başarısız olur:

...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1

Bu yükseltmeyi nasıl yapabilirim?


3
2.7.5 sürümüne yükseltmeniz gerektiğinden çok emin misiniz? Tüm hata düzeltmeleri Ubuntu'da 2.7.3 sürümüne döndürülüyor. Gerçekten başından derleyerek tüm baş ağrılarını kurtarmak istiyorsun. Lütfen 2.7.5 kurulumunun özel nedenini belirtin. Bu sitede, bozuk bir Python kurulumu ile ilgili sorular günlük işlerdir ve kaynağından kurulumdan kaynaklandığını görmek çok yaygındır. Örneğin bkz. Askubuntu.com/q/323248/88802
gertvdijk

1
Bir paketi yanlış bir şekilde kullanıyordum ama soru hala duruyor ve hiçbir açıklama yapılmadan aşağı oyu gerçekten anlamıyorum.
Gabriel

Bunun sudo make **install**yerine koşarken ne olur sudo make **altinstall**? Aynı hatayı mı alıyorsunuz?
Kevin Bowen

Şimdi sisteminizi bozacağını duyduğumdan çözümünüzü denemekten korkuyorum . Cevabınızı kabul edilmiş olarak işaretleyeceğim çünkü gerçekten tam görünüyor. Teşekkür ederim.
Gabriel

2
@ GabrielB Maggotbrain'in çözümü çok güzel; seçtiğiniz sürümü bir pyenv'e yüklemenizi sağlar. Sisteminizin Python'una zarar vermez. Bunu gelecekteki sorular için hatırlayacağım. :)
gertvdijk

Yanıtlar:


13

Kaynaktan yükleme elbette yapılabilir, ancak Ubuntu sistemlerimin python paketini birkaç nedenden dolayı kaynaktan yükseltmekten çekinmeyin:

  1. Bunu yapmak, kaynaktan düz bir derleme yaparak sistemi bozabilir (Ubuntu'nun Python paket yapılarını nasıl özelleştirdiğinden tam olarak emin değilim).

  2. Bundan sonraki depolardaki modüllerin kullanımıyla ilgili sorunlar olabileceğinden endişe ediyorum .

Aktif görünen bir PPA var (2.7.x treni en son bu yılın Nisan ayında inşa edildi), ancak PPA'nın henüz 2.7.5 bir yapısı yok. Bakıcıya ping atmak ve gelecekteki inşaatlar için planlarının ne olduğunu ve 2.7.5 için bir tane ekleyip eklemeyeceklerini görmek isteyebilirsiniz. Mümkünse bunu kaynaktan yüklemeyi tavsiye ederim. Herhangi bir yeni yazılımda olduğu gibi, önce bir test sistemi üzerine inşa etmenizi tavsiye ederim.

Başka bir seçenek, pyenvtest edilmemiş herhangi bir yeni yazılım paketini çalıştırmak için bir sanal alan ( ) kullanmaktır . Sisteminize düz bir kurulum, makinenizin çalışmasını olumsuz etkileyebilir.

Paket pyenv biri makinenizde yüklü ana Python paketini etkilemeden kutuyu olmayan bir sistem Python sürümünü yüklemeye izin verecektir (Tekrar: Sisteminiz Python şu anda yüklü sürümü bağlıdır ve sistem kırılabilir yükseltme). Daha önce, Pythonbrew'un python paketlerini sistemden izole etmesi için önerilmişti, ancak o zamandan beri pyenvpaket tarafından kullanımdan kaldırıldı ve yerini aldı .

pyenvPaket aşağıdaki işlevleri sağlar:

  • Genel Python sürümünü kullanıcı başına değiştirebilmenizi sağlar.
  • Proje başına Python sürümleri için destek sağlar.
  • Ortam değişkeniyle Python sürümünü geçersiz kılmanıza olanak tanır.
  • Bir kerede Python'un birden çok sürümünden komutları arayın.

Kurulum

  1. ~ / .Pyenv içine pyenv göz atın.

    git clone git://github.com/yyuu/pyenv.git .pyenv
  2. Pyenv komut satırı yardımcı programına erişmek için $ PATH sunucunuza ~ / .pyenv / bin ekleyin.

    echo 'export PATH="$HOME/.pyenv/bin:$PATH"' >> ~/.bash_profile

    Zsh notu: ~/.zshenvDosyanızı değiştirin ~/.bash_profile.

  3. Şimleri ve otomatik tamamlamayı etkinleştirmek için kabuğunuza pyenv init ekleyin.

    echo 'eval "$(pyenv init -)"' >> ~/.bash_profile

    Zsh notu: ~/.zshenvDosyanızı değiştirin ~/.bash_profile.

  4. Yol değişikliklerinin geçerli olması için kabuğunuzu yeniden başlatın. Artık pyenv kullanmaya başlayabilirsiniz.

    exec $SHELL
  5. Python sürümlerini ~ / .pyenv / sürümlerine yükleyin. Örneğin, Python 2.7.5'i yüklemek için kaynağı indirip paketinden çıkarın, ardından çalıştırın:

    pyenv install 2.7.5

    NOT Kaynaktan derlemek için yapılandırma seçeneklerini iletmeniz gerekiyorsa, lütfen CONFIGURE_OPTS ortam değişkenini kullanın.

  6. Şim ikili dosyalarını yeniden oluşturun. Bunu, yeni bir Python ikili dosyası yüklediğinizde (örneğin, yeni bir Python sürümü yüklerken veya ikili dosya sağlayan bir paket yüklerken) yapmanız gerekir.

    pyenv rehash

1
pyenvbirçok nedenden dolayı mükemmeldir. İlk kurulumdan sonra en az güçlükle deneylerime yardımcı oluyor.
Fahad Yousuf

Bu belirli bir kullanıcının homeklasöründen mi çalıştırılacak ? Bunu her kullanıcı için nasıl kurabilirim? Ben yükleyebilir miyim ./pyenvbölgesi /usr/local/binveya kötü bir fikir olduğunu?
biohazard
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.