Aktualizacja do Pythona 2.7.5 na Ubuntu 12.04


9

Ubuntu 12.04 jest dostarczany python v 2.7.3domyślnie. Chcę to uaktualnić do v 2.7.5. Wypróbowałem instrukcje podane w tym pytaniu ,

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

Ostatnie polecenie kończy się niepowodzeniem z błędem:

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

Jak mogę dokonać tej aktualizacji?


3
Czy na pewno chcesz uaktualnić do wersji 2.7.5? Wszystkie poprawki błędów są przenoszone do Ubuntu w wersji 2.7.3. Naprawdę naprawdę chcesz zaoszczędzić sobie bólu głowy dzięki kompilacji ze źródła. Podaj konkretny powód instalacji 2.7.5. Na tej stronie pytania dotyczące zepsutej instalacji Pythona są codzienne i często zdarza się, że przyczyną jest instalacja ze źródła. Zobacz na przykład askubuntu.com/q/323248/88802
gertvdijk

1
Używałem pakietu w niewłaściwy sposób, ale pytanie wciąż jest aktualne i naprawdę nie rozumiem opinii negatywnej bez żadnego wyjaśnienia.
Gabriel,

Co się stanie, gdy uruchomisz sudo make **install**zamiast sudo make **altinstall**? Czy pojawia się ten sam błąd?
Kevin Bowen,

Teraz boję się wypróbować rozwiązania, ponieważ tyle razy słyszałem, że to zepsuje mój system. Oznaczę twoją odpowiedź jako zaakceptowaną, ponieważ wygląda ona naprawdę kompletnie. Dziękuję Ci.
Gabriel

2
@Gabriel Rozwiązanie autorstwa maggotbrain jest bardzo fajne; pozwala zainstalować wybraną wersję w phenv. Python w systemie nie wyrządza żadnej szkody. Zapamiętam to na przyszłe pytania. :)
gertvdijk,

Odpowiedzi:


13

Instalowanie ze źródła można oczywiście wykonać, ale wahałbym się przed uaktualnieniem pakietu python mojego systemu Ubuntu ze źródła z kilku powodów:

  1. Może to spowodować uszkodzenie systemu, wykonując prostą kompilację ze źródła (nie jestem pewien, w jaki sposób Ubuntu dostosowuje swoje kompilacje pakietów Python).

  2. Byłbym zaniepokojony, że w przyszłości mogą wystąpić problemy z użyciem modułów z repozytoriów.

Istnieje PPA, które wygląda na aktywne (pociąg 2.7.x został ostatnio zbudowany w kwietniu tego roku), ale PPA nie ma jeszcze kompilacji 2.7.5. Możesz wysłać polecenie ping do opiekuna i zobaczyć, jakie są jego plany na przyszłe kompilacje oraz czy zamierzają dołączyć jedną do wersji 2.7.5. Jeśli to możliwe, poleciłbym to ponad instalację ze źródła. Podobnie jak w przypadku każdego nowego oprogramowania, zalecałbym najpierw zbudowanie go na systemie testowym.

Inną opcją jest użycie piaskownicy ( pyenv) w celu uruchomienia dowolnego nowego pakietu oprogramowania, który nie został przetestowany. Prosta instalacja w systemie może mieć negatywny wpływ na działanie urządzenia.

Pakiet pyenv pozwoli zainstalować na twoim komputerze niesystemową wersję Pythona bez wpływu na główny pakiet Pythona zainstalowany na twoim komputerze (ponownie: Twój system jest zależny od aktualnie zainstalowanej wersji Pythona, a jego aktualizacja może uszkodzić twój system). Wcześniej Pythonbrew był zalecany do izolowania pakietów Pythona od systemu, ale od tego czasu jest on przestarzały i zastępowany przez pyenvpakiet.

pyenvPakiet zawiera następujące funkcje:

  • Umożliwia zmianę globalnej wersji języka Python dla poszczególnych użytkowników.
  • Zapewnia obsługę wersji Python dla poszczególnych projektów.
  • Umożliwia zastąpienie wersji języka Python zmienną środowiskową.
  • Szukaj poleceń z wielu wersji Pythona jednocześnie.

Instalacja

  1. Sprawdź pyenv w ~ / .pyenv.

    git clone git://github.com/yyuu/pyenv.git .pyenv
  2. Dodaj ~ / .pyenv / bin do $ PATH, aby uzyskać dostęp do narzędzia wiersza polecenia pyenv.

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

    Uwaga Zsh: zmodyfikuj ~/.zshenvplik zamiast ~/.bash_profile.

  3. Dodaj pyenv init do swojej powłoki, aby umożliwić podkładki i automatyczne uzupełnianie.

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

    Uwaga Zsh: zmodyfikuj ~/.zshenvplik zamiast ~/.bash_profile.

  4. Uruchom ponownie powłokę, aby zmiany ścieżki zaczęły obowiązywać. Możesz teraz zacząć używać Pyenv.

    exec $SHELL
  5. Zainstaluj wersje Python w ~ / .pyenv /. Na przykład, aby zainstalować Python 2.7.5, pobierz i rozpakuj źródło, a następnie uruchom:

    pyenv install 2.7.5

    UWAGA Jeśli musisz przekazać opcje konfiguracji do kompilacji ze źródła, użyj zmiennej środowiskowej CONFIGURE_OPTS.

  6. Odbuduj binaria shim. Powinieneś to zrobić za każdym razem, gdy instalujesz nowy plik binarny Python (na przykład podczas instalowania nowej wersji Python lub instalowania pakietu zawierającego plik binarny).

    pyenv rehash

1
pyenvjest genialny z wielu powodów. Ogromnie pomaga mi w moich eksperymentach przy minimalnym wysiłku po początkowej konfiguracji.
Fahad Yousuf

Czy będzie to uruchamiane z homefolderu określonego użytkownika ? Jak mogę to zainstalować dla każdego użytkownika? Czy mogę zainstalować ./pyenvw /usr/local/binczy jest to zły pomysł?
zagrożenie biologiczne
Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.