Wie installiere ich Python 3.6 mit apt-get?

363

Ich habe es ganz normal versucht sudo apt-get install python3.6, aber ... nun ... das hat nicht funktioniert.

Also, wie würde ich vorgehen? (Ich würde es am liebsten nicht selbst bauen)

Ich benutze Ubuntu 16.04.

Olian04
quelle
5
Möglicherweise ist Python 3.6 für Ihre Distribution nicht verfügbar. Wenn Sie installiert haben aptitude, führenaptitude search python3
ridgy

Antworten:

525

Ubuntu 14.04 (Trusty), 16.04 (Xenial)

Wenn Sie Ubuntu 14.04 oder 16.04 verwenden, können Sie Felix Krulls Deadsnakes PPA unter https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa verwenden :

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

Alternativ können Sie J Fernyhoughs PPA unter https://launchpad.net/~jonathonf/+archive/ubuntu/python-3.6 verwenden :

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

Ubuntu 16.10, 17.04

Wenn Sie Ubuntu 16.10 oder 17.04 verwenden, befindet sich Python 3.6 im Universums-Repository. Sie können also einfach Folgendes ausführen:

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

Nach der Installation für Ubuntu 14.04, 16.04, 16.10 und 17.04

Führen Sie Folgendes aus, um den Python 3.6-Interpreter aufzurufen python3.6.

Ubuntu 17.10 und 18.04 (Bionic)

Ubuntu 17.10 und 18.04 werden bereits mit Python 3.6 als Standard ausgeliefert. Laufen python3Sie einfach , um es aufzurufen.

edwinksl
quelle
5
Beachten Sie, dass python3.6 in Ubuntu 16.10 eine Beta-Version ist, die einige Probleme aufweist (wie ein sehr schmerzhafter Speicherverlust dict, der in einigen seltenen Fällen auftritt ).
Marius Gedminas
102
VORSICHT - Seien Sie unter keinen Umständen versucht zu rennensudo apt remove python3.5oder ähnliches. Python ist grundlegender in Ubuntu integriert als Sie denken und Sie könnten Ihre Ubuntu-Installation beschädigen. Wenn Sie möchtenpython3um abzubildenpython3.6,erstellenanstatt einen symbolischen Link!
Huw Walters
19
Ich sehe, dass es kein python3.6-pipPaket gibt und habe es früher curl https://bootstrap.pypa.io/get-pip.py | sudo python3.6installiert pip.
Acumenus
5
Irgendwie kam Python ppa:jonathonf/python-3.6mit kaputtem Pip und ohne easy_install am 14.04 an. Ich habe es jedoch geschafft, es durch die Installation von easy_install und anschließende Neuinstallation von pip über zu beheben. curl https://bootstrap.pypa.io/ez_setup.py -o - | python3.6 && python3.6 -m easy_install pipNur für den Fall, dass jemand auf dasselbe Problem
stößt
6
Wie bei einigen anderen Kommentaren oben hatte ich auch Probleme pipbei der Installation ppa:jonathonf/python-3.6. Andererseits hat es ppa:deadsnakes/ppaeinwandfrei funktioniert ( apt-get install python3.6 python3.6-venv -y).
Michael Herrmann
133

Ich würde Pyenv empfehlen , um Ihre Probleme zu lösen. Es ist aptitude nicht, und nicht einbeziehen „es selbst bauen“, aber es ist voll automatisiert . Sie können eine neue (oder alte) Version von Python erstellen und installieren, indem Sie einfach sagen pyenv install 3.6.0: Alles läuft als Ihr Benutzer, so dass Sie sich keine Sorgen machen müssen, ob Sie das von Ubuntu selbst verwendete Python durcheinander bringen.

Außerdem die Antwort auf die Frage "Wie installiere ich Python 3.7 mit apt-get?" hat die gleiche Antwort: pyenv update; pyenv install 3.7.0. Es wird im Allgemeinen am selben Tag einer Veröffentlichung funktionieren, da Sie nicht darauf warten müssen, dass jemand anderes es für Ubuntu packt. Alle Versionen anzeigen, mit denen Sie installieren könnenpyenv install --list

Installieren Sie pyenv

  1. Installieren Sie Tools und Header, die zum Erstellen von CPythons erforderlich sind (exotische Pythons wie PyPy oder Jython können andere Abhängigkeiten aufweisen). Git wird von pyenv verwendet und ermöglicht auch das Erstellen / Installieren von Quell-Zweigen, so dass Sie das installieren können, was gerade 3.8 ist, dh den Master-Zweig von CPython, der neu von GitHub stammt:

    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. Führen Sie das Installationsskript aus (installiert pyenv und einige sehr nützliche pyenv-Plugins des ursprünglichen Autors; weitere Informationen finden Sie hier ).

    curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
  3. Fügen Sie Init-Zeilen zu Ihrem ~/.profileoder hinzu ~/.bashrc(dies wird am Ende des Installationsskripts erwähnt):

    export PATH="$HOME/.pyenv/bin:$PATH"
    eval "$(pyenv init -)"
    eval "$(pyenv virtualenv-init -)"
    
  4. Starten Sie Ihre Shell neu (close & open oder exec $SHELL) oder laden Sie das Profilskript neu. (mit zB source ~/.bashrc)

Getan!

Umgebung einrichten

Um das System Python nicht zu berühren (im Allgemeinen eine schlechte Idee; Dienste auf Betriebssystemebene könnten sich auf bestimmte Bibliotheksversionen usw. stützen), erstellen Sie Ihre eigene Umgebung - es ist ganz einfach! Noch besser, nein sudo, dafür oder pipinstalliert!

  1. Installieren Sie Ihre bevorzugte Python-Version (dadurch wird die Quelle heruntergeladen und für Ihren Benutzer erstellt, keine Eingabe erforderlich)

    pyenv install 3.6.0
  2. Machen Sie es zu einem virtuellen Video, damit Sie später andere erstellen können, wenn Sie möchten

    pyenv virtualenv 3.6.0 general
  3. Machen Sie es global aktiv (für Ihren Benutzer)

    pyenv global general
  4. Mach was du willst mit dem Python / Pip, etc. Es liegt bei dir.

Wenn Sie Ihre Bibliotheken später bereinigen möchten, können Sie das virtuelle env löschen ( pyenv uninstall general) oder ein neues erstellen ( pyenv virtualenv 3.6.0 other_proj). Sie können auch Umgebungen pro Verzeichnis aktivieren: Legt pyenv local other_projeine .python-versionDatei in Ihrem aktuellen Ordner ab, und jedes Mal, wenn Sie Python- oder Python-Dienstprogramme aufrufen, die von Python oder darunter installiert wurden, werden sie von pyenv angepasst.

Fehlerbehebung

  • bash: pyenv: command not found, fish: Unknown command 'pyenv'

    1. Überprüfen Sie $PATH, ob es einen Eintrag geben sollte, der mit so etwas wie endet .pyenv/bin. Wenn es fehlt, vergewissere dich, dass du # 3 UND # 4 (starte deine Shell neu) unter Install pyenv oben gefolgt bist.
  • pyenv: no such command 'virtualenv'

    1. Wenn Sie das Installationsskript nicht verwendet haben, haben Sie wahrscheinlich nur das Root-Paket pyenv installiert. Anweisungen zum Hinzufügen des Plugins finden Sie unter pyenv-virtualenv
    2. Wenn Sie das Installationsskript verwendet haben, prüfen Sie, ob es mit angezeigt wird pyenv commands.
Nick T
quelle
1
Es gibt eine Einschränkung bei der Verwendung von pyenv mit Python 2.x (oder sehr alten 3.x-Versionen, bevor die interne Darstellung der neuen Unicode-Zeichenfolge stattgefunden hat): pyenv verwendet die Standard-Upstream-Kompilierungsflags und erstellt mit 16-Bit-Unicode-Zeichenfolgen. Linux-Distributionen werden im Allgemeinen mit 32-Bit-Unicode-Strings erstellt. Dies verursacht Schmerzen, wenn Sie einige Dinge in Pythons installieren, die sowohl Pyenv- als auch Nicht-Pyenv-Pythons enthalten.
Marius Gedminas
@marius warum würdest du jemals eine Nicht-Pyenv-Version verwenden, nachdem du sie installiert hast?
Nick T
3
Ich weiß es nicht, aber ich habe dieses Problem entdeckt, indem ich jemandem im IRC geholfen habe, ein Problem zu debuggen, bei dem ein bestimmtes Python-Paket (lxml?) Aufgrund dessen nicht funktioniert hat. So passiert es in der Praxis manchen Menschen und ist es wert, darüber Bescheid zu wissen. (Die Problemumgehung ist rm -r ~/.cache/pip/wheels/.)
Marius Gedminas
1
Muss pyenvfür jeden Benutzer, der Python benötigt, installiert werden? Und wenn ich 3 Benutzer habe, die dieselbe Python 3.6-Version benötigen, muss sie dreimal kompiliert werden und nimmt dreimal Speicherplatz in Anspruch? Wenn das stimmt, dann ist es scheiße ...: /
Sarge Borsch
1
@SargeBorsch ist standardmäßig eine Benutzerinstallation (wenn Sie pyenv-installer verwenden), aber nichts hindert Sie daran, es /optoder was auch immer zu installieren und einige Symlinks hinzuzufügen /bin. Ich halte es für äußerst nützlich, nur Benutzer zu sein. Benutzer benötigen kein sudo (außer libs). Speicherplatz ist billig.
Nick T
14

Es hängt davon ab, welche Ubuntu-Version Sie verwenden.

Ubuntu 16.10 und Ubuntu 17.04

Da Python 3.6 im Universumsrepository von Ubuntu 16.10 und Ubuntu 17.04 installiert ist, können Sie Python 3.6 direkt aus dem Repository installieren. Verwenden Sie einfach die folgenden Befehle:

sudo apt update
sudo apt install python3.6

Ubuntu 16.04

Es gibt zwei Möglichkeiten, Python3.6 unter Ubuntu 16.04 zu installieren

  • Kompilieren und installieren Sie Python 3.6 unter Ubuntu 16.04
  • Installieren Sie Python 3.6 unter Ubuntu 16.04 von PPA

1. Kompilieren und installieren Sie Python 3.6 unter Ubuntu 16.04

Installieren Sie die erforderlichen Abhängigkeiten, laden Sie den Python 3.6-Quellcode herunter, erstellen Sie die Umgebung und installieren Sie sie

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. Installieren Sie Python 3.6 unter Ubuntu 16.04 von PPA

Sie können Python 3.6 mit den folgenden Befehlen über PPA installieren

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

Wenn Python 3.6 korrekt installiert ist, können Sie den Python-Interpreter aufrufen, indem Sie ihn python3.6im Terminal ausführen.

Ich hoffe das hilft. Wenn Sie irgendwelche Probleme haben, können Sie diesen Blog-Beitrag hier überprüfen .

Aryal Bibek
quelle
2
Dies ist im Wesentlichen eine Kopie der akzeptierten Antwort. Wo liegt der Mehrwert Ihrer Antwort?
Marc Vanhoomissen
2
Der erste Schritt in Ubuntu 16.04 ist für diejenigen, die Python 3.6 aus irgendeinem Grund kompilieren und installieren möchten. Der Vorgang des Kompilierens und Installierens von Python 3.6 unter Ubuntu 16.04 ist in der akzeptierten Antwort oder in einer Antwort im Thread nicht verfügbar. Die anderen Punkte sind, die Version von Ubuntu und die Unterschiede zu anderen akzeptierten Antworten zu verdeutlichen.
Aryal Bibek
1
PPA-Installationen auf 16.04 (Neuwertig) scheinen fehlerhaft zu sein. Die Installation von Quellinformationen ist nützlich.
Demented Hedgehog
13

Eine alternative Route, wenn Sie keine funktionierenden Repos finden, wäre, Sie könnten versuchen, sich aus dem Quellcode zu kompilieren. Den Quellcode finden Sie auf der Downloadseite . Laden Sie dann den Tarball herunter und entpacken Sie ihn. zum Beispiel für Python-3.6.1.tgz.

Der Prozess zum Dekomprimieren der tgz-Datei ist:

tar -xvzf /path/to/yourfile.tgz

Sobald Sie sich im Dateipfad befinden, in den die Datei entpackt wurde, führen Sie Folgendes aus:

./configure
make
make altinstall

Und hoffentlich sollte dies das Problem für Sie lösen.

Just In Time Berlake
quelle
4
Frage sagt (id preferably not build it on my own). Vielleicht wäre es besser, den aptWeg zu gehen , wenn es möglich ist.
TheWanderer
Ok, ich werde nachsehen, ob ich alternative Repositories für Sie finden kann. Haben Sie schon die Gelegenheit gehabt, bei Google nach alternativen Repos zu suchen? Ich möchte keine Vorschläge machen, die Sie bereits ausprobiert haben.
Just In Time Berlake
Ich bin nicht der OP. Ich mache nur einen Vorschlag. Ich konnte keine PPAs für 3.6 finden, daher könnte der Bau der notwendige Weg sein. Sie sollten dies jedoch wahrscheinlich in Ihrer Antwort ansprechen.
TheWanderer
Ihre make-Befehle schlagen auf einem System fehl, das der Benutzer noch nie erstellt hat, da viele Pakete erforderlich sind. "sudo apt install-essentielles 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

Für Ubuntu 15.10 habe ich es erfolgreich mit dieser Methode installiert:

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

Aber ich habe diese Datei bearbeitet:

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

Und ich wechselte schlau zu vertrauenswürdig und dann:

sudo apt-get update
sudo apt-get install python3.6
Hassan Ketabi
quelle
12
Ubuntu 15.10? Es ist vor Monaten EOL gegangen. Zeit für ein Upgrade.
Edwinksl
0

Befolgen Sie zunächst einige der anderen Antworten, um Python 3.6 oder 3.7 zu installieren. Wenn Sie dann PyPi-Pakete wie OpenEXR über installieren möchten, erhalten pipSie möglicherweise einige Fehler. Einige davon (z. B. für das PyPi-Paket von OpenEXR) werden möglicherweise durch die Installation des Python-Entwicklungspakets für Ihr neu installiertes Python behoben. Dies kann folgendermaßen geschehen:

sudo apt-get install python3.6-dev

oder

sudo apt-get install python3.7-dev

Amir
quelle
0

Vielleicht ist es keine schlechte Idee, Conda vorzuschlagen . Ich denke, es ist zumindest einfacher als mit Pyenv. Aber vielleicht hängt es doch davon ab, was Sie mit Python vorhaben, denn ich denke, mit Conda werden Sie möglicherweise einige zusätzliche Pakete haben.

BEARBEITEN : Es ist wahrscheinlich erwähnenswert, dass Sie nach der Installation von Condas Standardversion von Python die benötigte Version, hier 3.6, mit condalike installieren können

conda install python==3.6
arsaKasra
quelle