Ubuntu 12.04 python v 2.7.3
wird standardmäßig mitgeliefert. Ich möchte es auf aktualisieren v 2.7.5
. Ich versuchte , die in Anweisungen dieser Frage ,
sudo apt-get install build-essential
sudo apt-get install libreadline-dev libncursesw5-dev libssl-dev libsqlite3-dev tk-dev libgdbm-dev libc6-dev libbz2-dev
cd ~/Downloads/
wget http://python.org/ftp/python/2.7.5/Python-2.7.5.tgz
tar -xvf Python-2.7.5.tgz
cd Python-2.7.5
./configure
make
sudo make altinstall
Der letzte Befehl schlägt mit dem Fehler fehl:
...
Compiling /usr/local/lib/python2.7/xmlrpclib.py ...
Compiling /usr/local/lib/python2.7/zipfile.py ...
make: *** [libinstall] Error 1
Wie kann ich dieses Upgrade durchführen?
sudo make **install**
stattsudo make **altinstall**
? Erhalten Sie den gleichen Fehler?Antworten:
Die Installation von der Quelle aus kann natürlich durchgeführt werden, aber ich würde aus mehreren Gründen zögern, das Python-Paket meiner Ubuntu-Systeme von der Quelle zu aktualisieren:
Dies könnte das System beschädigen, indem eine direkte Kompilierung aus dem Quellcode durchgeführt wird (ich bin nicht genau sicher, wie Ubuntu die Python-Paket-Builds anpasst).
Ich würde mir Sorgen machen, dass es in Zukunft Probleme mit der Verwendung von Modulen aus den Repositorys geben könnte .
Es gibt eine PPA , die aktiv aussieht (der 2.7.x-Zug wurde zuletzt im April dieses Jahres gebaut), aber die PPA hat noch keine 2.7.5-Version. Möglicherweise möchten Sie den Betreuer anpingen und sehen, welche Pläne er für zukünftige Builds hat und ob er einen für 2.7.5 enthalten wird. Wenn möglich, würde ich dies über die Installation von der Quelle empfehlen. Wie bei jeder neuen Software würde ich empfehlen, diese zuerst auf einem Testsystem aufzubauen.
Eine andere Möglichkeit besteht darin, eine Sandbox (
pyenv
) zu verwenden, um ein neues, nicht getestetes Softwarepaket auszuführen. Eine direkte Installation auf Ihrem System kann den Betrieb Ihrer Maschine beeinträchtigen.Mit dem Paket pyenv kann eine Nicht-System-Python-Version auf Ihrer Box installiert werden, ohne dass dies Auswirkungen auf das auf Ihrem Computer installierte Python- Hauptpaket hat (Wiederum: Ihr System ist von der aktuell installierten Python-Version abhängig, und ein Upgrade kann Ihr System beschädigen). Früher wurde Pythonbrew zum Isolieren von Python-Paketen vom System empfohlen, aber das wurde seitdem vom
pyenv
Paket veraltet und ersetzt .Das
pyenv
Paket bietet die folgenden Funktionen:Installation
Schauen Sie sich pyenv in ~ / .pyenv an.
Fügen Sie Ihrem $ PATH ~ / .pyenv / bin hinzu, um auf das Befehlszeilenprogramm pyenv zuzugreifen.
Zsh Hinweis: Ändern Sie Ihre
~/.zshenv
Datei anstelle von~/.bash_profile
.Fügen Sie Ihrer Shell pyenv init hinzu, um Shims und die automatische Vervollständigung zu aktivieren.
Zsh Hinweis: Ändern Sie Ihre
~/.zshenv
Datei anstelle von~/.bash_profile
.Starten Sie Ihre Shell neu, damit die Pfadänderungen wirksam werden. Sie können jetzt mit pyenv beginnen.
Installieren Sie Python-Versionen in ~ / .pyenv / version. Um beispielsweise Python 2.7.5 zu installieren, laden Sie die Quelle herunter und entpacken Sie sie. Führen Sie dann Folgendes aus:
HINWEIS Wenn Sie Konfigurationsoptionen zum Erstellen aus dem Quellcode übergeben müssen, verwenden Sie die Umgebungsvariable CONFIGURE_OPTS.
Erstellen Sie die Shim-Binärdateien neu. Sie sollten dies jedes Mal tun, wenn Sie eine neue Python-Binärdatei installieren (z. B. wenn Sie eine neue Python-Version installieren oder wenn Sie ein Paket installieren, das eine Binärdatei bereitstellt).
quelle
pyenv
ist aus so vielen Gründen brillant. Hilft mir beim Experimentieren immens mit minimalem Aufwand nach der Ersteinrichtung.home
Ordner eines bestimmten Benutzers ausgeführt ? Wie kann ich das für jeden Benutzer installieren? Kann ich installieren./pyenv
in/usr/local/bin
oder ist das eine schlechte Idee?