Upgrade auf Python 3.2

22

Ich möchte neue Funktools verwenden, die mit dem lrucache bereitgestellt werden. Ich verwende derzeit Python 2.6, das dies nicht unterstützt.

Wie kann ich am besten auf Python 3.2 upgraden? Oder gibt es eine andere Möglichkeit, wie ich die itertools + functools der Version 3.2 in der Python 2.6-Distribution verwenden kann?

Vielen Dank

Lerner
quelle
Vielleicht ist dieses Rezept nützlich?
16.

Antworten:

24

Da viele Programme und Bibliotheken auf Python 2.6 (oder Python 2.7 in 11.04) basieren und Python 2.x und 3.x nicht kompatibel sind, können Sie kein Upgrade durchführen. Sie können Python3 nur zusammen mit Python 2.6 installieren:

Python 3.1

  • Glücklicherweise ist die stabile Version von Python 3 (3.1.2 zum Zeitpunkt des Schreibens) in den Repositories enthalten. Installieren Sie einfach das Paket python3-all  .

    Ihr Dolmetscher wird /usr/bin/python3statt /usr/bin/python.

    Sie können jetzt auch python3Ihr Terminal eingeben, wenn Sie Py3 anstelle von Py2 starten möchten.


Python 3.2

  • Sie können jede Version der Python-Quellen von python.org herunterladen und ausführen

    ./configure
    make
    sudo make altinstall

    Um die Python-Quelle kompilieren zu können, benötigen Sie ein paar Pakete:

    sudo apt-get install build-essential libncursesw5-dev libreadline5-dev libssl-dev libgdbm-dev libc6-dev libsqlite3-dev tk-dev libbz2-dev

    Die Option altinstall installiert die andere Version von Python neben den vorhandenen:

    Anstatt die Quellen herunterzuladen, ist es sinnvoll, von Zeit zu Zeit die neueste Entwicklungsversion aus dem Python-Dev-Repository zu lesen:

    svn checkout http://svn.python.org/projects/python/branches/py3k

    Dadurch erhalten Sie die neueste, instabile Version. Sie können dann cd py3k/den obigen Kompilierungsvorgang ausführen.

    Dazu muss natürlich svn  installiert sein.

Stefano Palazzo
quelle
1
Diese Antwort ist großartig, habe ich befürwortet, aber ich hätte gerne mehr Tiefe. Ich kann das neue Python als 'python3.2' aufrufen, was in Ordnung ist, aber ich kann die Einstellungen so vornehmen, dass meine persönlichen Programme diese Version standardmäßig verwenden (z. B. Python3.2 als erstes 'Python' im PATH erhalten). während das System sicher Python2.6 verwendet? Ich frage nicht, weil ich nicht gerne 'python3.2' eingebe, sondern, weil einige
Jonathan Hartley
1
@Tartley Dein Kommentar wurde dort abgeschnitten, warum willst du das tun?
Stefano Palazzo
1
(oops, danke.) ... aber weil einige Tools zB Bash-Skripte haben, die ihre Python-Komponenten mit 'python xxx.py' aufrufen und nur unter Python 3.2 laufen. Ich möchte also eine Umgebung erstellen (in der Tat möchte ich, dass es meine persönliche Standardumgebung ist), in der sich Python 3.2 (und alle seine Skripte, Werkzeuge usw.) zuerst auf dem Pfad befindet, während das System Python 2.6 dem System überlässt Verwenden Sie (in der Tat, ich möchte dies von meinem persönlichen Pfad
Jonathan Hartley