Ich habe den normalen Weg versucht, sudo apt-get install python3.6
, aber... nun... das hat nicht funktioniert.
Also, wie würde ich vorgehen? (Ich würde es vorzugsweise nicht selbst bauen)_
Ich'benutze Ubuntu 16.04.
Wenn Sie Ubuntu 14.04 oder 16.04 verwenden, können Sie Felix Krull's 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 Fernyhough's 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
Wenn Sie Ubuntu 16.10 oder 17.04 benutzen, dann ist Python 3.6 im Universum-Repository, so dass Sie es einfach ausführen können:
sudo apt-get update
sudo apt-get install python3.6
Um den Python 3.6 Interpreter aufzurufen, führen Sie python3.6
aus.
Ubuntu 17.10 und 18.04 werden bereits mit Python 3.6 als Standard ausgeliefert. Führen Sie einfach python3
aus, um es aufzurufen.
Ich würde [pyenv] (https://github.com/pyenv/pyenv) empfehlen, um Ihre Probleme zu lösen. Es benutzt nicht Aptitude und verlangt, dass man es selbst baut, aber es ist voll automatisiert. Sie können eine neue (oder alte) Version von Python bauen und installieren, indem Sie einfach pyenv install 3.6.0
sagen. Alles läuft als Ihr Benutzer, so dass Sie sich keine Sorgen machen müssen, dass Sie das von Ubuntu selbst verwendete Python (https://askubuntu.com/questions/482211/is-it-okay-to-mess-around-with-python-that-comes-with-ubuntu) durcheinander bringen.
Außerdem hat die Antwort auf die Folgefrage "Wie installiere ich Python 3.7 mit apt-get?" die gleiche Antwort: pyenv update; pyenv install 3.7.0
. Das funktioniert in der Regel noch am Tag der Veröffentlichung, da man nicht darauf warten muss, dass jemand anderes das Paket für Ubuntu erstellt. Sehen Sie alle Versionen, die Sie mit pyenv install --list
installieren können
Installieren Sie die Werkzeuge und Header, die zum Bauen von CPythons benötigt werden (exotische Pythons wie PyPy oder Jython können andere Abhängigkeiten haben). Git wird von pyenv verwendet, und es ermöglicht auch Builds/Installationen von Source-Zweigen, also könnten Sie installieren, was auch immer 3.8 gerade ist, d.h. den Master-Zweig von CPython frisch von 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
# Optionale wissenschaftliche Paketköpfe (für Numpy, Matplotlib, SciPy, etc.)
sudo apt-get install -y libpng-dev libfreetype6-dev
Führen Sie das Installationsskript aus (installiert pyenv und einige sehr nützliche pyenv-Plugins des ursprünglichen Autors; siehe hier für mehr)
curl -L https://github.com/pyenv/pyenv-installer/raw/master/bin/pyenv-installer | bash
Füge init-Zeilen zu deinem ~/.profile
oder ~/.bashrc
hinzu (es wird am Ende des Installationsskripts erwähnt):
export PATH="$HOME/.pyenv/bin:$PATH"
eval "$(pyenv init -)"
eval "$(pyenv virtualenv-init -)"
Starten Sie Ihre Shell neu (close & open oder exec $SHELL
) oder laden Sie das Profilskript neu. (z.B. mit source ~/.bashrc
)
Geschafft!
Um das System Python nicht zu berühren (im Allgemeinen eine schlechte Idee; Dienste auf Betriebssystemebene könnten sich auf bestimmte Bibliotheksversionen verlassen, usw.) erstellen Sie Ihre eigene Umgebung, es ist einfach! Noch besser, kein sudo
, für es oder pip
Installationen!
Installieren Sie Ihre bevorzugte Python-Version (dies lädt den Quellcode herunter und baut ihn für Ihren Benutzer, keine Eingabe erforderlich)
pyenv installieren 3.6.0
Machen Sie daraus eine virtuelle Version, damit Sie später andere erstellen können, wenn Sie wollen
pyenv virtualenv 3.6.0 allgemein
Mach es global aktiv (für deinen Benutzer)
pyenv global allgemein
Machen Sie mit Python/pip etc. was Sie wollen. Es gehört Ihnen.
Wenn Sie Ihre Bibliotheken später aufräumen wollen, können Sie die virtuelle Umgebung löschen (pyenv uninstall general
) oder eine neue erstellen (pyenv virtualenv 3.6.0 other_proj
). Sie können auch Umgebungen pro Verzeichnis aktiv haben: pyenv local other_proj
legt eine .python-version
Datei in Ihrem aktuellen Verzeichnis ab und jedes Mal, wenn Sie Python oder pip-installierte Python-Dienstprogramme von dort oder darunter aufrufen, werden sie von pyenv geshimmt.
bash: pyenv: Befehl nicht gefunden
, fish: Unbekannter Befehl 'pyenv'
$PATH
, es sollte einen Eintrag geben, der mit etwas wie .pyenv/bin
endet. Wenn er fehlt, vergewissern Sie sich, dass Sie #3 und #4 (starten Sie Ihre Shell neu) unter Install pyenv oben befolgt haben.pyenv: kein solcher Befehl 'virtualenv'
pyenv commands
auftaucht.Ein alternativer Weg, wenn Sie keine funktionierenden Repos finden können, wäre, dass Sie versuchen, selbst aus dem Quellcode zu kompilieren. Sie können den Quellcode auf der Download-Seite finden. Dann laden Sie den Tarball herunter und entpacken ihn; zum Beispiel für Python-3.6.1.tgz
.
Das Verfahren zum Entpacken der tgz-Datei ist wie folgt:
tar -xvzf /path/to/yourfile.tgz
Sobald Sie sich in dem Dateipfad befinden, in den die Datei entpackt wurde, führen Sie aus:
./configure
make
make altinstall
Damit sollte das Problem hoffentlich gelöst sein.