Ubuntu 12.04 jest dostarczany python v 2.7.3
domyś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?
sudo make **install**
zamiastsudo make **altinstall**
? Czy pojawia się ten sam błąd?Odpowiedzi:
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:
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).
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
pyenv
pakiet.pyenv
Pakiet zawiera następujące funkcje:Instalacja
Sprawdź pyenv w ~ / .pyenv.
Dodaj ~ / .pyenv / bin do $ PATH, aby uzyskać dostęp do narzędzia wiersza polecenia pyenv.
Uwaga Zsh: zmodyfikuj
~/.zshenv
plik zamiast~/.bash_profile
.Dodaj pyenv init do swojej powłoki, aby umożliwić podkładki i automatyczne uzupełnianie.
Uwaga Zsh: zmodyfikuj
~/.zshenv
plik zamiast~/.bash_profile
.Uruchom ponownie powłokę, aby zmiany ścieżki zaczęły obowiązywać. Możesz teraz zacząć używać Pyenv.
Zainstaluj wersje Python w ~ / .pyenv /. Na przykład, aby zainstalować Python 2.7.5, pobierz i rozpakuj źródło, a następnie uruchom:
UWAGA Jeśli musisz przekazać opcje konfiguracji do kompilacji ze źródła, użyj zmiennej środowiskowej CONFIGURE_OPTS.
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).
źródło
pyenv
jest genialny z wielu powodów. Ogromnie pomaga mi w moich eksperymentach przy minimalnym wysiłku po początkowej konfiguracji.home
folderu określonego użytkownika ? Jak mogę to zainstalować dla każdego użytkownika? Czy mogę zainstalować./pyenv
w/usr/local/bin
czy jest to zły pomysł?