2008-09-27 5 views
8

Ich möchte, wie die Standard-Python-Installation (2.5.2) aktualisiert, die mit Ubuntu 8.04 zu Python 2.6rc2 geliefert wird. Ich möchte 2.6 zur Standard-Python-Version auf dem System machen und alle anderen nützlichen installierten Python-Bibliotheken, die auf 2.5.2 installiert sind, auf Python 2.6rc2 migrieren. Bitte lassen Sie mich wissen, wie ich das erreichen kann.Wie aktualisiere ich Python 2.5.2 zu Python 2.6rc2 auf Ubuntu Linux 8.04?

Dank Dirk

+0

Es ist eine wirklich schlechte Idee zu ersetzen Standard-Python-Installation. Installieren Sie einfach Python 2.6 in einem anderen Verzeichnis. – nosklo

Antwort

15

Mit der Warnung, dass ich denke, es ist eine enorm schlechte Idee ist den Standard-Python mit einer nicht freigegebenen Beta-Version zu ersetzen:

Zuerst installieren 2.6rc2. Sie können die Quelle von der Python website herunterladen. Standard ./configure && make && sudo make install Installationsstil.

Als nächstes entfernen Sie den /usr/bin/python Symlink. Do nicht entfernen /usr/bin/python2.5. Fügen Sie einen Symlink zu 2.6 mit ln -s /usr/local/bin/python2.6 /usr/bin/python hinzu.

Noch einmal, ich denke, das ist eine schreckliche Idee. Es gibt fast sicher einen besseren Weg, um das zu tun, was Sie erreichen wollen.


Die Migration installierter Bibliotheken ist ein viel längerer Prozess. Suchen Sie in den Verzeichnissen /usr/lib/python2.5/site-packages/ und /usr/local/lib/python2.5/site-packages/. Alle installierten Bibliotheken müssen mit 2.6 neu installiert werden. Da Sie keine gepackte Python-Version verwenden, können Sie die Pakete von Ubuntu nicht verwenden. Sie müssen alle Bibliotheken manuell manuell aktualisieren. Die meisten von ihnen können wahrscheinlich mit sudo easy_install <name> installiert werden, aber einige wie PyGTK + sind nicht so einfach. Sie müssen den benutzerdefinierten Installationsverfahren für jede dieser Bibliotheken folgen.

+0

werden die Standard-Kompilierungsoptionen nicht einfach zu/usr/local/bin hinzugefügt (was er dann in python26 umbenennen könnte), während der/usr/bin symlink auf python2.5 verweist? – unmounted

+0

Es ist üblich, dass Shell-Skripte #!/Usr/bin/python statt #!/Usr/bin/env python verwenden. Denn dann muss der Link in/usr/bin ersetzt werden. –

+0

Eigentlich ist der richtige Weg (wenn Sie eine bestimmte Version anvisieren) #!/Usr/bin/env python2.6 –

1

Gibt es eine Notwendigkeit?

Ubuntu enthält im Allgemeinen keine RC-Versionen. 2.6 wird nicht in Ubuntu bis Jaunty Jackalope verfügbar sein.

Wenn Sie jedoch darauf bestehen, dass Sie es installieren müssen, müssen Sie dies ohne einen Paketmanager tun.

das Paket herunterladen und entpacken Sie es in ein Verzeichnis

die folgenden Befehle ausführen Es

./configure 
make 
sudo make install 

(für jeden warten, wie Sie dies tun beenden), haben Sie es installiert.

Es ist besser, zu warten, bis es zuerst verpackt werden, espescially als Python in vielen ubuntu Einbauten verwendet wird, so brechen kann Ihr System schrecklich

1

Es wäre nicht klug, die Standard-Version von Python zu ändern, dh was du bekommst, wenn du "python" in eine Shell eingibst. Sie können jedoch mehrere Versionen von Python installiert haben. Der Trick besteht darin, sicherzustellen, dass das Programm namens "python" auf dem Pfad die vom System bereitgestellte Version ist. Wenn Sie Ihre Installation von Python 2.6 ausführen möchten, geben Sie python2.6 in eine Shell ein, um sie zu starten.

das Paket herunterladen und entpacken, dann laufen:

./configure 
make 
sudo make install 
ls -l /usr/local/bin 

Sie einen Python sehen sollen und eine python2.6-Datei, die beide am Tag erstellt Sie machen liefen installieren; Löschen Sie die Python-Datei.Wenn dann python gestartet wird, wird die Python-Standardsystemversion von /usr/bin ausgeführt, und wenn python2.6 ausgeführt wird, erhalten Sie Ihr glänzendes neues Python 2.6rc2. Python zeigt die Version an, wenn ein interaktiver Interpreter gestartet wird.

6

Ich habe das gleiche Problem, und anscheinend können vorgefertigte Binaries hier:

# Python 2.6 
deb http://ppa.launchpad.net/doko/ubuntu intrepid main 
deb-src http://ppa.launchpad.net/doko/ubuntu intrepid main 
+1

Diese Zeilen wurden zu meiner /etc/apt/sources.list hinzugefügt und ein '' sudo apt-get update && sudo apt-get install python2.6'' ausgegeben, das folgendes ergab: '' Die folgenden Pakete haben noch nicht abgeschlossene Abhängigkeiten: python2 .6: Hängt davon ab: libsqlite3-0 (> = 3.5.9), aber 3.4.2-2 soll installiert werden. Ohne weiter zu gehen, scheint dies ein ziemlich langer Prozess zu sein, der andere Pakete und Abhängigkeiten brechen könnte. Zumindest auf Ubuntu 8.04. – Flowpoke