Chcę zainstalować najnowszą wersję archiwum Python na Ubuntu, pobraną ze strony http://python.org/download/ .
Czy to poprawny sposób instalacji?
./configure
make
make install
Jeśli nie, jak to zrobić?
software-installation
python
mohammads
źródło
źródło
sudo apt-get install python-2.7 python-pip
sudo apt-get install python2.7
. Jest to nie tylko łatwiejsze, to jedyna poprawna odpowiedź, ponieważ jest to jedyny sposób, w jaki będziesz w stanie poradzić sobie z instalowaniem modułów Pythona za pomocą apt-get i ich zależności.Odpowiedzi:
Najpierw zainstaluj niektóre zależności:
Następnie pobierz za pomocą następującego polecenia:
Wypakuj i przejdź do katalogu:
Teraz zainstaluj za pomocą polecenia, które właśnie wypróbowałeś,
checkinstall
zamiast tego, aby ułatwić odinstalowanie w razie potrzeby:Zmień
version
na dowolną potrzebną wersję (version=2.7.1
lubversion=3.6.0
na przykład).źródło
sudo make install
i niealtinstall
ustawiaj go jako domyślnej wersji PythonaCXX=g++ ./configure
jeśli ./configure wydaje ostrzeżenie, że nie znaleziono g ++sudo apt-get install python
bardziej skomplikowana odpowiedź: „jak zainstalować najnowszy python”, implikacją jest „ze źródła”. Ten sam problem będzie występować w dowolnym systemie operacyjnym, chyba że instalujesz wstępnie skompilowane pliki binarne od strony trzeciej, co jest znowu ryzykowne w każdym systemie operacyjnym (i różni się znacznie w różnych systemach operacyjnych). Również ta odpowiedź pochodzi z 2012 r .; więcej najnowszych porad można znaleźć na stronie askubuntu.com/questions/101591/…Jeśli naprawdę nie masz ochoty samodzielnie go skompilować, preferowanym sposobem jest użycie DeadSnakes PPA do zainstalowania wersji Pythona, które nie są domyślnie dołączone:
Dostępne są również inne wersje, takie jak
python2.4
lubpython3.6
itp.źródło
really have a burning desire to compile it yourself
ppa
nie jest oficjalnie zatwierdzony, więc najbezpieczniejszym sposobem jest kompilacja ze źródła. 2. Spowoduje to powstanie globalnego Pythona, którego użytkownicy niesudo
mogą modyfikować ani instalować pakietów, a nie lokalnego. 3. Wiele pytonów można zainstalować lokalnie w różnych lokalizacjach, budując ze źródła.apt-get install python2.7
To zainstaluje binarny python2.7 zamiast python ... brzydki !!Kontynuując dokumentowanie tego w najnowszych wersjach Ubuntu 1 : dla serwera Ubuntu 16.04.1 domyślnym językiem Python jest wersja 3.5, a Python 2.7 nie jest domyślnie instalowany. Przy nowej instalacji (pamiętaj, że nie ma nawet
python
pliku wykonywalnego):Uwaga: Przed kontynuowaniem, prawdopodobnie będziesz chciał zrobić szybkie
sudo apt-get update
,sudo apt-get upgrade
isudo apt-get dist-upgrade
(proszę zrobić notatkę dokładnie co te polecenia są w rzeczywistości robi; Jestem zakładając nową instalację tutaj).Instalacja Pythona 2.7 jest tak prosta jak:
Początkowe wyniki instalacji Pythona 2.7 są następujące:
Po zainstalowaniu Pythona 2.7
Ale wciąż istnieje problem, ponieważ nie można jeszcze zainstalować modułów PyPI za pośrednictwem
pip
- np. Jeśli chcesz notebooka jupyter lub najnowszej wersji scipy lub numpy (itp.), Musisz zainstalować,pip
a następniepip install
te i nadal przechodzić doapt-get
zainstalować wszelkie potrzebne zależności systemowe , takie jak graphviz lub podstawowe biblioteki systemowe.Tak więc instalowanie pipa jest tak proste, jak
sudo apt-get install python-pip
:Będziesz potrzebował zarówno
python-pip
dla Python 2.7, jakpip
ipython3-pip
dla Python 3pip
. Instalacja przez zapt-get
pewnością zainstaluje wymagane zależności; np. oto dane wyjściowe do instalacji pip2:W rezultacie dzieje się ciekawa rzecz: masz teraz „standard” (i PEP zalecane)
python2
ipython3
(które są tylko dowiązaniami symbolicznymi do Pythona 2.7 i Pythona 3.5):Będziesz także chciał
sudo apt-get install python3-pip
; przed instalacją masz:Po zainstalowaniu
pip3
,Powstałe wersje:
I ostatnia rzecz, zanim zaczniesz instalować wszystkie swoje ulubione moduły PyPI w Pythonie: prawdopodobnie będziesz musiał zaktualizować sam pip (zarówno pip2, jak i pip3 osobno; nie ma też znaczenia, czy
pip
jest wywoływany przezpython
pliki wykonywalne, czypip
pliki wykonywalne, aktualne aktualizacje są przechowywane w/usr/lib
):Możesz teraz uruchomić
pip
wersję autonomiczną lub wersję w pakieciepython
(przezpython -m pip {command}
).[1] Podsumowanie historyczne: starsze Ubuntu miało tylko Python 2.6, a zatem wszystkie różne metody instalacji Python 2.7+. Później, po dodaniu Python 2.7 do publicznych repozytoriów, nadal mieliśmy takie samo wyzwanie, aby zainstalować najnowszy Python 2.7 z najnowszymi poprawkami, co było (zbyt) często konieczne. Dzisiejsza sytuacja jest znacznie lepsza / prostsza: obecne Python 2.7 i 3.5 (w zasadzie tylko dwie wersje platformy Python, na których zależy ludziom), które są teraz w publicznych repozytoriach, są bardzo stabilne, więc teraz naprawdę musimy się martwić o instalację najnowszej moduły python , a nie najnowszy python . Więc teraz problem „najnowszej wersji” Pythona częściowo wyszedł z repozytoriów systemów operacyjnych
apt
i do PyPI ipip
.)źródło
$PATH
. Env varPATH
to długa lista katalogów z dosłownie tysiącami plików. Aby przyspieszyć znalezienie pliku wykonywalnego, powłoka używa buforowanej tablicy hashtable do szybkiego wyszukiwania. Może stać się nieaktualny, więc „zakodowane” informuje, że zostało „zapamiętane” to polecenie zamapowane na plik wykonywalny unix.stackexchange.com/questions/5609/…pip
(2.7) ipip3
(3.x) zostały całkowicie zainstalowane / zaktualizowane, a nie tylko te pierwsze - tj.sudo apt-get install python-pip python3-pip
Isudo -H python2 -m pip install --upgrade pip
isudo -H python3 -m pip install --upgrade pip
… Lub jeśli to naprawdę jest problem z uprawnieniami (wskazany przez „to działa z” sudo ”), wtedy będzie trochę trudniej wytropić.12.04
Jeśli podążasz za odpowiedzią Achu , termin
libread5-dev
należy zmienić nalibreadline-gplv2-dev
. Zatem pełne polecenie brzmiałoby:źródło
Możesz również pobrać i zainstalować go za pośrednictwem pyenv
źródło
pyenv-virtualenv
wtyczki, co ułatwia instalowanie aplikacji o różnych wymaganiach modułowych bez kolizji.bash --login
), Która nie jest zawsze łatwe do osiągnięcia np. z Ansible. Najlepszy do użytku interaktywnego, mniej dobry do serwerów skryptowych.Głównie odzwierciedlenie tej odpowiedzi z poprawionym wprowadzeniem
Polecam pyenv . Automatyzuje proces kompilacji oprócz instalowania zależności nagłówka (patrz poniżej). Możesz zbudować i zainstalować nową (lub starą) wersję Pythona, po prostu mówiąc
pyenv install 3.6.0
. Wszystko działa jako użytkownik, więc nie musisz się martwić o zepsucie Pythona używanego przez sam Ubuntu.W przeciwieństwie do niektórych opcji opartych na apt-repo (np. Deadsnakes), na ogół będzie działał tego samego dnia po wydaniu,
pyenv update
ponieważ nie musisz czekać, aż ktoś go zapakuje . Zobacz wszystkie wersje, które możesz zainstalowaćpyenv install --list
Zainstaluj pyenv
Zainstaluj narzędzia i nagłówki potrzebne do zbudowania CPythons (egzotyczne pytony, takie jak PyPy lub Jython, mogą mieć inne zależności). Git jest używany przez pyenv, a także umożliwia kompilacje / instalacje gałęzi źródłowych, więc możesz zainstalować cokolwiek 3.8 w tej chwili, tj. Główną gałąź CPython świeżo z GitHub:
Uruchom skrypt instalatora (instaluje pyenv i kilka bardzo przydatnych wtyczek pyenv autorstwa oryginalnego autora; więcej informacji tutaj )
Dodaj wiersze inicjujące do swojego
~/.profile
lub~/.bashrc
(wspomina o tym na końcu skryptu instalacyjnego):Uruchom ponownie powłokę (zamknij i otwórz lub
exec $SHELL
) lub ponownie załaduj skrypt profilu. (z np.source ~/.bashrc
)Gotowy!
Konfigurowanie środowiska
Aby nie dotykać systemowego Pythona (ogólnie zły pomysł; usługi na poziomie systemu operacyjnego mogą polegać na określonych wersjach bibliotek itp.) Utwórz własne środowisko, to proste! Nawet lepiej, nie
sudo
, za to lubpip
instaluje!Zainstaluj preferowaną wersję języka Python (spowoduje to pobranie źródła i kompilację dla użytkownika, nie wymaga wprowadzania danych)
Zrób to jako virtualenv, aby później móc tworzyć inne
Uczyń go globalnie aktywnym (dla twojego użytkownika)
Rób co chcesz z Pythonem / pipem itp. To jest twoje.
Jeśli chcesz później wyczyścić biblioteki, możesz usunąć virtualenv (
pyenv uninstall general
) lub utworzyć nową (pyenv virtualenv 3.6.0 other_proj
). Możesz także mieć środowiska aktywne dla poszczególnych katalogów:pyenv local other_proj
upuści.python-version
plik do bieżącego folderu i za każdym razem, gdy wywołasz z niego lub pod nim narzędzia Pythona lub pipa, zostaną one zablokowane przez pyenv.Rozwiązywanie problemów
bash: pyenv: command not found
,fish: Unknown command 'pyenv'
$PATH
, powinien być jeden wpis, który kończy się czymś w rodzaju.pyenv/bin
. Jeśli go brakuje, upewnij się, że postępowałeś zgodnie z krokami 3 i 4 (zrestartuj powłokę) w części Zainstaluj pyenv powyżej.pyenv: no such command 'virtualenv'
pyenv commands
.źródło