Jak zainstalować Python 3.6 za pomocą apt-get?

363

Próbowałem normalnie sudo apt-get install python3.6, ale ... cóż ... to nie działało.

Jak więc mam to zrobić? (Wolałbym nie budować go na własną rękę)

Używam Ubuntu 16.04.

Olian04
źródło
5
Być może python 3.6 nie jest dostępny dla twojej dystrybucji. Jeśli masz zainstalowany aptitude, uruchomaptitude search python3
ridgy

Odpowiedzi:

525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Jeśli korzystasz z Ubuntu 14.04 lub 16.04, możesz skorzystać z deadsnakes PPA Felixa Krulla pod adresem https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa :

sudo add-apt-repository ppa:deadsnakes/ppa
sudo apt-get update
sudo apt-get install python3.6

Alternatywnie możesz użyć PPA J Fernyhougha na https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 :

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt-get update
sudo apt-get install python3.6

Ubuntu 16.10, 17.04

Jeśli używasz Ubuntu 16.10 lub 17.04, to Python 3.6 znajduje się w repozytorium wszechświata, więc możesz po prostu uruchomić:

sudo apt-get update
sudo apt-get install python3.6

Po instalacji dla Ubuntu 14.04, 16.04, 16.10 i 17.04

Aby wywołać interpreter języka Python 3.6, uruchom python3.6.

Ubuntu 17.10 i 18.04 (Bionic)

Ubuntu 17.10 i 18.04 są już domyślnie wyposażone w Python 3.6. Po prostu biegnij, python3aby go przywołać.

edwinksl
źródło
5
Zauważ, że python3.6 w Ubuntu 16.10 to wersja beta, która ma pewne problemy (jak bardzo bolesny wyciek pamięci, dictktóry pojawia się w rzadkich przypadkach).
Marius Gedminas
102
PRZESTROGA - W żadnym wypadku nie należy kusić, aby biegaćsudo apt remove python3.5itp.; Python jest bardziej wbudowany w Ubuntu, niż mogłoby się wydawać, i możesz przerwać instalację Ubuntu. Jeśli chceszpython3zmapowaćpython3.6, utwórz link symboliczny!
Huw Walters
19
Widzę, że nie ma python3.6-pippakietu, więc curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6instalowałem pip.
Acumenus,
5
Jakoś python ppa:jonathonf/python-3.6przybył ze zepsutą pipą i nie ma easy_install 14.04. Jednak udało mi się to naprawić, instalując easy_install, a następnie ponownie instalując pip za pośrednictwem curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipna wypadek, gdyby ktoś
napotkał
6
Podobnie jak niektórzy inni komentatorzy powyżej, miałem również problemy pipz instalacją ppa:jonathonf/python-3.6. Z drugiej strony ppa:deadsnakes/ppadziałał bezbłędnie ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann
133

Polecam pyenv aby rozwiązać swoje nieszczęścia. Nie używać aptitude, i ma obejmować „budowanie to sam”, ale jest w pełni zautomatyzowany . 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.

Dodatkowo odpowiedź na pytanie uzupełniające „Jak zainstalować Python 3.7 za pomocą apt-get?” ma taką samą odpowiedź: pyenv update; pyenv install 3.7.0. Zasadniczo będzie działać tego samego dnia wydania, ponieważ nie trzeba czekać, aż ktoś inny zapakuje go dla Ubuntu. Zobacz wszystkie wersje, które możesz zainstalowaćpyenv install --list

Zainstaluj pyenv

  1. 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:

    sudo apt-get install -y git
    sudo apt-get install -y build-essential libbz2-dev libssl-dev libreadline-dev \
                            libffi-dev libsqlite3-dev tk-dev
    
    # optional scientific package headers (for Numpy, Matplotlib, SciPy, etc.)
    sudo apt-get install -y libpng-dev libfreetype6-dev    
    
  2. Uruchom skrypt instalatora (instaluje pyenv i kilka bardzo przydatnych wtyczek pyenv autorstwa oryginalnego autora; więcej informacji tutaj )

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Dodaj wiersze inicjujące do swojego ~/.profilelub ~/.bashrc(wspomina o tym na końcu skryptu instalacyjnego):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. 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 lub pipinstaluje!

  1. Zainstaluj preferowaną wersję języka Python (spowoduje to pobranie źródła i kompilację dla użytkownika, nie wymaga wprowadzania danych)

    pyenv install 3.6.0
  2. Zrób to jako virtualenv, aby później móc tworzyć inne

    pyenv virtualenv 3.6.0 general
  3. Uczyń go globalnie aktywnym (dla twojego użytkownika)

    pyenv global general
  4. 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_projupuści .python-versionplik 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'

    1. Sprawdź $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'

    1. Jeśli nie użyłeś skryptu instalatora, prawdopodobnie zainstalowałeś tylko główny pakiet pyenv. Zobacz pyenv-virtualenv na instrukcje, aby dodać plugin
    2. Jeśli korzystałeś ze skryptu instalatora, sprawdź, czy wyświetla się z pyenv commands.
Nick T.
źródło
1
Jest jedno zastrzeżenie, gdy używasz pyenv z Pythonem 2.x (lub bardzo starymi wersjami 3.x zanim pojawiła się nowa wewnętrzna reprezentacja ciągu Unicode): pyenv używa domyślnych flag kompilacji w górę i buduje z 16-bitowymi ciągami Unicode. Dystrybucje Linuksa zazwyczaj budowane są z 32-bitowych ciągów znaków Unicode. Powoduje to ból, gdy instalujesz pip w niektórych pytaniach zarówno w pytaniach Pyenv, jak i innych niż Pyenv, ponieważ buforowanie koła pip jest wykonywane.
Marius Gedminas,
@marius dlaczego miałbyś kiedykolwiek używać wersji innej niż Pyenv po instalacji?
Nick T
3
Nie wiem, ale odkryłem ten problem, pomagając komuś na IRC debugować problem, w wyniku którego konkretny pakiet Pythona (lxml?) Nie działał z tego powodu. Tak się dzieje w praktyce dla niektórych osób i warto o tym wiedzieć. (Obejście jest rm -r ~/.cache/pip/wheels/.)
Marius Gedminas,
1
Czy pyenvmusi być zainstalowany dla każdego użytkownika, który potrzebuje Pythona? A jeśli mam 3 użytkowników, którzy potrzebują tej samej wersji Python 3.6, to będzie musiał ją skompilować 3 razy i zajmie 3x miejsca na dysku? Jeśli to prawda, to jest do bani…: /
Sarge Borsch
1
@SargeBorsch domyślnie (jeśli używasz instalatora pyenv) to instalacja przez użytkownika, ale nic nie stoi na przeszkodzie, aby zainstalować go na /optcokolwiek lub dodać kilka dowiązań symbolicznych /bin. Uważam, że jest on wyjątkowo użyteczny; użytkownicy nie potrzebują sudo (innego niż libs). Miejsce na dysku jest tanie.
Nick T
14

To zależy od używanej wersji Ubuntu.

Ubuntu 16.10 i Ubuntu 17.04

Ponieważ Python 3.6 jest zainstalowany w uniwersalnym repozytorium Ubuntu 16.10 i Ubuntu 17.04, możesz bezpośrednio zainstalować Python 3.6 z repozytorium. Wystarczy użyć poniższych poleceń:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Istnieją dwa sposoby instalacji Python3.6 na Ubuntu 16.04

  • Skompiluj i zainstaluj Python 3.6 na Ubuntu 16.04
  • Zainstaluj Python 3.6 na Ubuntu 16.04 z PPA

1. Skompiluj i zainstaluj Python 3.6 na Ubuntu 16.04

Zainstaluj niezbędne zależności, pobierz kod źródłowy Python 3.6, a następnie zbuduj środowisko i zainstaluj

sudo apt install build-essential checkinstall
sudo apt install libreadline-gplv2-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
wget https://www.python.org/ftp/python/3.6.0/Python-3.6.0.tar.xz
tar xvf Python-3.6.0.tar.xz
cd Python-3.6.0/
./configure
sudo make altinstall

2. Zainstaluj Python 3.6 na Ubuntu 16.04 z PPA

Możesz zainstalować Python 3.6 z PPA, używając poniższych poleceń

sudo add-apt-repository ppa:jonathonf/python-3.6
sudo apt update
sudo apt install python3.6

Jeśli Python 3.6 jest poprawnie zainstalowany, możesz wywołać interpreter Pythona, uruchamiając go python3.6w terminalu.

Mam nadzieję, że to pomoże. Jeśli masz jakieś problemy, możesz sprawdzić ten post na blogu tutaj .

Aryal Bibek
źródło
2
Jest to zasadniczo kopia przyjętej odpowiedzi. Gdzie jest wartość dodana twojej odpowiedzi?
Marc Vanhoomissen
2
Pierwszym krokiem w Ubuntu 16.04 jest dla tych, którzy z jakiegoś powodu chcą skompilować i zainstalować Python 3.6. Proces kompilacji i instalacji Pythona 3.6 na Ubuntu 16.04 nie jest dostępny w zaakceptowanej odpowiedzi ani żadnej odpowiedzi w tym temacie. Pozostałe punkty to wyjaśnienie wersji Ubuntu i tego, jak różni się ona od innych akceptowanych odpowiedzi.
Aryal Bibek
1
Instalacje PPA 16.04 (Mint) wyglądają na zepsute. Instalacja z informacji źródłowych jest przydatna.
szalony jeż
13

Alternatywną drogą, jeśli nie możesz znaleźć żadnych działających repozytoriów, byłbyś w stanie skompilować się ze źródła. Możesz znaleźć kod źródłowy na stronie pobierania . Następnie pobierz i rozpakuj archiwum; na przykład dla Python-3.6.1.tgz.

Proces rozpakowywania pliku tgz jest następujący:

tar -xvzf /path/to/yourfile.tgz

Gdy znajdziesz się w ścieżce pliku, do którego plik został rozpakowany, uruchom:

./configure
make
make altinstall

Mam nadzieję, że to rozwiąże problem.

Just In Time Berlake
źródło
4
Pytanie mówi (id preferably not build it on my own). Może lepiej pójść tą aptdrogą, jeśli to możliwe.
Wędrowiec
Ok, sprawdzę, czy mogę znaleźć dla ciebie alternatywne repozytoria. Czy miałeś już okazję samodzielnie szukać w Google alternatywnych repozytoriów? Nie chcę sugerować rzeczy, które już próbowałeś.
Just In Time Berlake,
Nie jestem OP. Po prostu sugeruję. Nie mogłem znaleźć żadnych umów PPA dla wersji 3.6, więc budowanie może być niezbędną drogą. Prawdopodobnie powinieneś się tym zająć w swojej odpowiedzi.
Wędrowiec
Twoje komendy make zawiodą w systemie, w którym użytkownik nigdy niczego nie zbudował, ponieważ wymaganych jest wiele pakietów. „sudo apt install niezbędny do kompilacji libssl-dev zlib1g-dev libncurses5-dev libncursesw5-dev libreadline-dev libsqlite3-dev libgdbm-dev libdb5.3-dev libbz2-dev libexpat1-dev liblzma-dev tk-dev”
Joe
4

W przypadku Ubuntu 15.10 zainstalowałem go pomyślnie przy użyciu tej metody:

sudo add-apt-repository ppa:jonathonf/python-3.6

Ale edytowałem ten plik:

sudo vi /etc/apt/sources.list.d/jonathonf-ubuntu-python-3_6-wily.list

I zmieniłem przebiegle na zaufane, a potem:

sudo apt-get update
sudo apt-get install python3.6
hassan ketabi
źródło
12
Ubuntu 15.10? Minęło wiele miesięcy temu. Czas na aktualizację.
edwinksl
0

Najpierw postępuj zgodnie z innymi odpowiedziami, aby zainstalować Python 3.6 lub 3.7. Następnie, jeśli chcesz zainstalować pakiety PyPI takich jak OpenEXR pośrednictwem pipmożna uzyskać kilka błędów. Niektóre z nich (np. Pakiet PyPi OpenEXR) mogą zostać rozwiązane przez zainstalowanie pakietu programistycznego Python dla nowo zainstalowanego Pythona. Można to zrobić za pomocą następujących czynności:

sudo apt-get install python3.6-dev

lub

sudo apt-get install python3.7-dev

Amir
źródło
0

Być może sugerowanie Condy nie jest złym pomysłem. Myślę, że jest to co najmniej łatwiejsze niż używanie pyenv. Ale może zależy to od tego, co zamierzasz zrobić z Pythonem, ponieważ myślę, że z Condą możesz skończyć z dodatkowymi pakietami.

EDIT : To chyba warto wspomnieć, że po zainstalowaniu domyślną wersję Conda za Pythona, można zainstalować wersję trzeba, tu 3.6, używając condajak

conda install python==3.6
arsaKasra
źródło