Wie bringe ich das Terminal dazu, Python 3.1 auszuführen?

14

Wenn ich derzeit am Terminal "python" eingebe, erhalte ich v2.6, was alles in Ordnung und gut ist, aber wie kann ich festlegen, dass stattdessen v3.1 verwendet wird? Gibt es irgendwo eine "Pfad" -Variable, die ich wie Windows ändern kann?

EDIT: Ich habe bereits Python3 installiert und ausgeführt. Ich möchte nur wissen, wie man es als Standard-Python-Version der Shells einstellt.

John
quelle
Python3 vs Python von der Kommandozeile.
ErdeMeLon

Antworten:

18

Verwenden Sie python-virtualenv , um eine virtuelle Python-Umgebung zu erstellen.

Wählen Sie die Version von Python aus, die in der virtuellen Umgebung erstellt werden soll:

virtualenv --python=/usr/bin/python3.1 myvirtualenv

Installieren Sie die virtualenvwrapper- Erweiterung, um mehrere virtuelle Python-Umgebungen zu verwalten .

Warum virtualenv?

Das Grundproblem, das angesprochen wird, sind Abhängigkeiten und Versionen sowie indirekte Berechtigungen. Stellen Sie sich vor, Sie haben eine Anwendung, für die Version 1 von LibFoo erforderlich ist, für eine andere Anwendung jedoch Version 2. Wie können Sie beide Anwendungen verwenden? Wenn Sie alles in /usr/lib/python2.4/site-packages installieren (oder was auch immer der Standardspeicherort Ihrer Plattform ist), kann es leicht vorkommen, dass Sie versehentlich eine Anwendung aktualisieren, die nicht aktualisiert werden sollte.

Sid
quelle
Wenn meine App jemals veröffentlicht wird, werde ich dies definitiv nutzen. Danke.
John
10

Zunächst müssen Sie das python3Paket installieren . Gehen Sie nach der Installation zu einem Terminal und geben Sie Folgendes ein:

sudo update-alternatives --config python

Wählen Sie dann python3 aus der angezeigten Liste.

Wenn dies nicht funktioniert, müssen Sie möglicherweise den Symlink neu erstellen. Speichern Sie es zuerst:

sudo mv /usr/bin/python /usr/bin/pythonSAVE

Erstellen Sie anschließend die Alternativen:

sudo update-alternatives --install python2.5 python /usr/bin/python2.5 2
sudo update-alternatives --install python3.1 python /usr/bin/python3.1 1

erstelle einen neuen symlink:

sudo ln -s /etc/alternatives/python /usr/bin/python

Schließlich wählen Sie die (Python3), die Sie verwenden möchten:

sudo update-alternatives --config python

Und wenn Sie zu python2 zurückkehren müssen, wiederholen Sie einfach den Befehl:

sudo update-alternatives --config python

Ich denke, nur das Paket zu installieren und Update-Alternativen werden sehr gut funktionieren, möglicherweise müssen Sie keine Links von Grund auf neu erstellen. Vielen Dank!

BEARBEITEN: Wie hier gezeigt , akzeptiert das update-alternativesmit den --installOptionen einen absoluten Link, so dass Sie möglicherweise Folgendes ausführen müssen:

sudo update-alternatives --install /usr/bin/python python /usr/bin/python2.5 2
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.1 1
crncosta
quelle
Ich habe versucht zu rennen sudo update-alternatives --config python, aber es sagt mirupdate-alternatives: error: no alternatives for python. ich versucht habe, den Symlink neu zu erstellen, wie Sie sagten, aber es hat nichts zu ändern ... Was könnte falsch sein?
Sean Bone
1

Installieren Sie zuerst Python 3.1 über das Repository für tote Schlangen: https://launchpad.net/~fkrull/+archive/deadsnakes

Dann können Sie 'python3' in die Befehlszeile eingeben, um Python 3.1 unter Beibehaltung des normalen Python-Systems auszuführen.

brousch
quelle
+1 - Scheint sinnlos, da python3.1-minimales in den Ubuntu-Repositories ist, aber eigentlich enthält dieses Repository python2.4und python2.5- was ziemlich nett ist. (Ich muss Python 2.4 für Hochleistungs-Computing verwenden, kenne die Schmerzen ...)
Stefano Palazzo