Wie kann ich mit apt-get eine andere Version von Python installieren?
Offensichtlich ist mir klar, dass ich mit dem Quell-Tar-Ball installieren kann, ich würde es jedoch vorziehen, nicht von der Quelle zu installieren und stattdessen den Paket-Manager zu verwenden, da er dafür da ist. Sicherlich erstellt irgendwo ein seriöses Unternehmen .deb-Dateien für die neuesten Python-Versionen (warum python.org nicht über mich hinausgeht), auf die ich verweisen kann.
Was muss ich tun, um auf sie zu verweisen, und welche Probleme kann es beim Upgrade auf die nächste Version verursachen?
Wenn es keine andere Möglichkeit gibt, als aus dem Quellcode zu erstellen, gibt es ein (Pseudo-) Paket, das ich installieren kann und das alle erforderlichen Abhängigkeiten bereitstellt, ohne dass jedes einzeln gesucht und installiert werden muss? Damit ich nicht bekomme:
The necessary bits to build these optional modules were not found:
_bz2 _curses _curses_panel
_dbm _gdbm _lzma
_sqlite3 _ssl _tkinter
readline zlib
quelle
E: Couldn't find any package by regex 'python3.5'
und damit die installation über versagtapt-get install python3.5
?Antworten:
Felix Krull betreibt eine PPA, die im Grunde genommen jede Version von Python (im Ernst, es gibt 2.3.7 Build für Vivid ...) für viele Ubuntu-Releases unter https://launchpad.net/~deadsnakes/+archive/ubuntu/ppa anbietet .
Mach das übliche:
Es wird Ihr bestehendes nicht überschrieben,
python3.4
das immer noch als symbolisch gekennzeichnet istpython3
.Verändere den Symlink NICHT! Es gibt anscheinend viele Systemfunktionen, die mit python3.5 nicht richtig funktionieren.
Ich habe das ausprobiert und konnte danach kein Terminal, keinen Software-Updater, ... öffnen.
Das Upgrade auf Wily wird das Meta-Paket anpassen
python3
zu zeigen aufpython3.5
. Ich erwarte keinen Bruch, aber zu diesem Zeitpunkt wird das Auslandslager nicht mehr benötigt. Um wirklich sicher zu gehen, können Sie die PPA vor dem Upgrade löschen.quelle
wget https://bootstrap.pypa.io/get-pip.py; sudo python3.5 get-pip.py
gaben mir einen funktionierenden Pip für Python 3.5, aber pip3.4 funktioniert nicht mehr. Wenn jemand es besser weiß, kommentieren Sie bitte~$ vim ~/.bashrc
und fügen Sie dies hinzualias python=python3.5
. dann~$source ~/.bashrc
add-apt-repository: command not found
, starten Sieapt-get install software-properties-common python-software-properties
die InstallationDieser Youtube-Link hat mir bei der Installation geholfen.
Die Schritte sind:
Um zu überprüfen, ob Python installiert ist, geben Sie
python3.5
else ein:quelle
./configure --enable-optimizations
stackoverflow.com/questions/41405728/…apt-get install build-essential
Befolgen Sie einfach diese Schritte (getestet):
Schritt 1 - Erforderliche Pakete installieren
Verwenden Sie den folgenden Befehl, um die Voraussetzungen für Python vor der Installation zu installieren.
Schritt 2 - Laden Sie Python 3.5.2 herunter
Laden Sie Python mit dem folgenden Befehl von der offiziellen Python-Website herunter. Sie können auch die neueste Version anstelle der unten angegebenen herunterladen.
Extrahieren Sie nun das heruntergeladene Paket.
Schritt 3 - Python Source kompilieren
Verwenden Sie die folgenden Befehle, um mit altinstall den Python-Quellcode auf Ihrem System zu kompilieren.
make altinstall
wird verwendet, um das Ersetzen der Standard-Python-Binärdatei zu verhindern/usr/bin/python
.Schritt 4 - Überprüfen Sie die Python-Version
Überprüfen Sie die neueste Version von Python mit dem folgenden Befehl.
Quelle .
quelle
sudo apt-get install libffi-dev
, um ihn zu beheben.sudo apt-get install liblzma-dev
, um LZMA-Unterstützung zu aktivieren.Soweit ich das beurteilen kann, kann man zumindest in einem Docker-Container definitiv
apt-get
Python 3 verwenden.Zuerst bin ich auf einen Ubuntu-Container mit Container gestoßen:
dann musste es aus irgendeinem Grund einige Ubuntu-Sachen aktualisieren, damit ich es tat (innerhalb des Containers):
und dann habe ich einfach python3 installiert und es scheint, dass es automatisch Python 3.5 bekommen hat:
Und um zu testen, ob Pip funktioniert, können Sie Folgendes herunterladen:
alles scheint gut für mich zu funktionieren.
Wichtiger Hinweis: Wenn Sie Python 3.4 bereits installiert haben,
apt-get install python3
funktioniert es anscheinend nicht, da es besagt, dass Sie es bereits haben. Es scheint, dass dies eines meiner Probleme war, weil ich von einem Docker-Image aus Tensorflow (im Besonderengcr.io/tensorflow/tensorflow:latest-devel-py3
) ausgegangen bin und etwas in diesem Image (ich gehe davon aus, dass es bereits Python 3.4 enthält, aber es könnte etwas anderes sein), das mir keine Aktualisierung ermöglichte Mein Python um Python 3.5 zu bekommen.credit: Ich habe dies festgestellt, als ich Folgendes gefragt habe: https://stackoverflow.com/questions/42122826/can-one-use-python-3-5-in-a-docker-container-based-out-of-the -tensorflow-docker
Hinweis: Man kann auch einfach Anaconda installieren. Für ein Docker-Beispiel kann man Folgendes tun:
von ihrer offiziellen Website: https://hub.docker.com/r/continuumio/anaconda3/
Diese Lösung installiert Python 3.6, aber ich bin mir sicher, dass Sie Python 3.5 bekommen können, wenn Sie das wollen.
Hinweis: Sie sollten wahrscheinlich ohnehin eine virtuelle Umgebung wie virtual env oder conda / anaconda verwenden, es sei denn, Sie verwenden Docker. Ich wollte nur die Leute daran erinnern.
quelle
Es gibt eine Reihe neuerer Python-Distributionen, die über apt-get in Ubuntu-Paketen installiert werden können
als beispiel stehen derzeit folgende versionen zur verfügung:
python2.7
python3.2
python3.4
python3.5
python3.6
Die Verfügbarkeit variiert je nach Ubuntu-Release bis zu einem gewissen Grad. Zum Beispiel ist 3.5 für Xenial, Yakkety und Zesty verfügbar und 3.6 ist für Yakkety und Zesty verfügbar, aber Sie müssen das Universe-Repository aktivieren, wenn es nicht aktiviert ist, um sie über apt-get abzurufen. Um die Verfügbarkeit Ihrer Ubuntu-Version zu prüfen, klicken Sie auf die obigen Links.
Ein kurzer Blick zeigt, dass diese Antwort auch noch gültig ist, da PPA sogar für Trusty 3.6 hat.
quelle
Ich würde in Betracht ziehen, virtuelle Umgebungen zu verwenden, anstatt Python-Versionen über apt-get zu installieren.
Die Verwendung von virtuellen Umgebungen ( siehe hier) ist eine gute Methode für die Entwicklung mit Python. Sie können Ihre Python-Umgebung von den vom System installierten Python-Versionen isolieren.
Außerdem müssen Sie keinen sudo-Zugriff erhalten, während Sie eine Bibliothek installieren (über Pip usw.).
quelle
virtualenv -p
. Aber es hat mit "ImportError: Name 'HTTPSHandler' kann nicht importiert werden" explodiert.Conda wird aktiv aktualisiert und ermöglicht es Ihnen, mehrere Python-Versionen in verwalteten Venvs zu installieren, ohne die Mühe zu haben, alles selbst einzurichten. In vielen der von anaconda verwalteten Abhängigkeits- / Pip-Ketten, die verwendet werden, wurden möglicherweise Probleme mit dem Pfad zu binären Erweiterungen behoben.
quelle