Ich möchte zwischen den Versionen 2 und 3 von Python wechseln. Beide sind installiert

8

Wenn ich auf eine .py-Datei doppelklicke, wird "IDLE" geöffnet (gibt es eine andere Möglichkeit, "IDLE" zu öffnen?), Aber die Standard-Python-Version ist 2, wenn ich "Ausführen" auswähle. Ich möchte die Standardversion dauerhaft auf 3 ändern, damit ich nicht jedes Mal die Version wechseln muss, wenn ich meinen Raspberry Pi einschalte.

Ich habe erfolglos danach gesucht. Die meisten Antworten stammen aus der Zeit vor der Aufnahme von Python 3 und erklären, wie 3 installiert wird, aber NICHT, wie die Standardeinstellung geändert wird, daher diese Frage.

John Foggitt
quelle
Haben Sie versucht, Python 2 zu deinstallieren?
Bex
7
@Bex, ich würde py2 nur deinstallieren, wenn Sie sicher sind, dass es nicht anderswo benötigt wird. Es gibt immer noch viele Skripte, die auf 2.7 laufen.
Ghanima

Antworten:

3

IDLEwird normalerweise zusammen mit installiert python, also sollten Sie idle3irgendwo haben. Folgendes sollten Sie tun:

  1. Versuchen Sie , usw. im Terminal auszuführen idle3, um sicherzustellen, dass Sie es haben. Nehmen wir an, Sie habenidle3.3idle3.4idle3

  2. Ändern Sie die Dateizuordnung von .pyDateien so, dass sie idle3beim Doppelklicken geöffnet werden . Dies hängt von Ihrem Dateimanager ab. Klicken Sie normalerweise mit der rechten Maustaste -> "Öffnen mit ...".

Auch hier ist das Spielen mit Symlinks keine gute Idee, da Skripte, die mit beginnen, #!/usr/bin/pythonvoraussichtlich ausgeführt werden python2.

Dmitry Grigoryev
quelle
-2

Ein geeigneter Weg, dies zu tun, ist die Verwendung von Debains Update-Alternativen

UPD: Die Menschen sind zu faul , um jyst R ead T er F ine M anual:

update-alternatives --remove-all python
update-alternatives --install /usr/bin/python python /usr/python2/bin/python2 10
update-alternatives --install /usr/bin/python python /usr/python3/bin/python3 20

So sollte es sein. Danach, um die Dinge auf den Kopf zu stellen:

update-alternatives --set python "/usr/python2/bin/python2"

um die gewünschte auszuwählen. Es wird nicht brechen PEP-394 , weil python2und python3Binärdateien sein wird , wo sie müssen in seine Multi-versioniert installieren: in den Anlagen Präfixe ( usr/python2und /usr/python3jeweils)

Alexey Vesnin
quelle
3
Es gibt keine Linkgruppe für Python in update-alternatives.
n.st
1
Während dies theoretisch die Frage beantworten kann, wäre es vorzuziehen , die wesentlichen Teile der Antwort hier aufzunehmen und den Link als Referenz bereitzustellen.
Steve Robillard
1
update-alternativessind nur eine gute Möglichkeit, Symlinks in Ihrem System zu verfolgen, sodass Ihre Lösung am Ende das gleiche Problem wie @Milliways 'hat: Sie ersetzen /usr/bin/python, was eine Verletzung von PEP-394 darstellt.
Dmitry Grigoryev
1
@ n.st Also müssen Sie es erstellen =) Das ist die Idee: kein Paket durcheinander, Standard-Schaltmodus
Alexey Vesnin
1
PEP-394 sagt ausdrücklich, dass dies /usr/bin/pythonauf python2 verweisen sollte, da viele ältere Skripte, die mit beginnen, #!/usr/bin/pythonnur mit python2 korrekt ausgeführt werden.
Dmitry Grigoryev