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.