Ich habe sowohl Python 2.7 als auch Python 3.3 auf meinem Computer installiert (ich bin unter Windows 8).
Ich möchte, dass .py-Dateien standardmäßig mit Python 3.3 geöffnet werden. Der einzige Python-Pfad in der Umgebungsvariablen PATH ist der 3.3-Pfad. Beim Öffnen von .py-Dateien sehe ich jedoch, dass sie von Python 2.7 interpretiert werden, auch wenn ich sie explizit mit der Python 3.3-Exe öffne ("Öffnen mit" und Auswahl der 3.3-Exe). Ich habe auch versucht, die Python.exe-Version mithilfe von "Set Associations" in der Windows-Systemsteuerung zu ändern. Ich bin nicht sicher, ob es etwas geändert hat. Egal was ich mache, die Ausgabe des folgenden Programms ist 2.7.3
:
import sys
print(sys.version)
Wie zwinge ich Windows 8, .py-Dateien mit Python 3.3 zu öffnen?
python
in die Konsole eingeben und dann den Code aus der Frage ausführen. Wenn immer noch 2.7.3 ausgegeben wird, zeigt Ihr Pfad auf den falschen Python-Interpreter. Oder, noch besser, geben Sie einfach diepython -V
Konsole ein%PATH%
,%PYTHONPATH%
. Schauen Sie sichmsconfig
und autoexec.bat an.Antworten:
Das Ändern von shebang (
#! python3
) kann Ihnen helfen, aber Sie haben ein Problem: Wenn Ihr Python-Skript Parameter enthält, werden diese beim Ausführen des Befehls abgeschnittensomepythonfile.py your_parameters
Sie werden py.exe nur mit "somepythonfile.py" und KEINEN Parametern zum Laufen bringen, glauben Sie mir.
Die Methode, die für mich funktioniert hat, ist die folgende: Führen Sie die App http://www.nirsoft.net/utils/file_types_manager.html aus - dies ist ein Dateizuordnungsmanager. Korrigieren Sie die Zuordnung für Python-Dateien
"C:\Windows\py.exe" "%1" %*
anstatt
"C:\Windows\py.exe" "%1"
Oder alternativ einstellen
"C:\Python34\pythonw.exe" "%1" %*
explizit - um der gewünschten Version zu entsprechen und die Shebang-Zeile wegzulassen.
quelle
Versuchen Sie,
#!python3
in die allererste Zeile einzufügen. Python 3.3 führte Python Launcher für Windows ein , das.py
mit assoziiert istc:\windows\py.exe
. Standardmäßig wird das höchste Python 2 gestartet. Siehe https://stackoverflow.com/a/17245543/1346705quelle
Es scheint, dass Windows nicht den gesamten Pfad der ausführbaren Datei überprüft! Versuchen Sie, die python.exe von Version 2 (bzw. 3) in einen temporären Namen umzubenennen. Dann assoziieren Sie mit diesem Namen. Und alles zurück ändern.
Zu Ihrer Information können Sie die Dateizuordnung überprüfen mit:
quelle
Wenn Sie den beim Klicken mit der rechten Maustaste verwendeten IDLE ändern möchten, können Sie in die Registrierung gehen und den Schlüssel suchen:
Sie sollten etwas sehen wie:
Ändern Sie alle
27
in,33
wenn Sie Ihre Pythons im Standardbereich installiert haben. Wenn nicht, ändern Sie einfach den Pfad zu dem Speicherort Ihrer 3.3-Implementierung.Um das Standard-Befehlszeilen-Python zu ändern, sollten Sie dasselbe mit dem Pfad in Ihrer
PATH
Umgebungsvariablen tun .quelle
Haben Sie versucht, Python 2.7 vorübergehend zu deinstallieren? Das könnte die Dateizuordnung beheben. Ich bin mir nicht sicher, da ich mit Windows 8 nicht vertraut bin, abgesehen davon, wie wenig ich davon erfahren habe, als ich es auf einem anderen Computer ausprobiert habe. Ich bin mir nicht mal sicher, ob es unter Windows 7 funktionieren würde, aber es ist einen Versuch wert, wenn Sie mich fragen.
Ich empfehle außerdem, das Tag für die von Ihnen verwendete Windows-Version anstelle des Standard-Tags "Windows" zu verwenden. In diesem Fall kann ich beides verwenden, da sich die Dateizuordnungen zwischen Windows-Versionen nicht wesentlich ändern. Verwenden Sie auf jeden Fall mindestens das richtige Tag (Windows-8). Dann erhalten Sie weitere Antworten von Personen, die nach diesem Tag suchen.
quelle