it-swarm.com.de

Wie soll ich die Standard-Python-Version in Windows einstellen?

Ich habe Python 2.6 und Python 3 unter Windows 7 installiert und die Umgebungsvariable festgelegt: path = d:\python2.6

Wenn ich python in cmd ausführte, wird die Python-Version 2.6 angezeigt, was richtig ist! 

Als ich jedoch ein Skript in eine bat-Datei geschrieben und ausgeführt habe, war die angezeigte Python-Version 3.1. 

Was ist hier falsch? 

Der Skriptcode in der bat-Datei: 

import sys
print (sys.version)
35
rooney

Der letzte von Ihnen installierte Python, der sich in der Umgebung registriert, ist die Standardeinstellung (ich kann mich nicht an den genauen Wortlaut des Installationsprogramms erinnern, aber es ist die erste Option). Es gibt eine Reihe von Einstellungen, um sicherzustellen, dass sie alle einheitlich registriert sind, installieren Sie einfach die Version neu, die Sie als Standard verwenden möchten.

Wenn Sie eine andere Version installieren möchten, diese aber nicht als Standard verwenden möchten, deaktivieren Sie einfach die Registrierungsoption während der Installation.

Edit (19. Mai 2012)

Ab Python 3.3 installiert das Python-Installationsprogramm Python Launcher for Windows . Dieses Programm (py.exe) ist mit den Python-Dateierweiterungen verknüpft und sucht nach einem "Shebang" -Kommentar, um die auszuführende Python-Version anzugeben. Dadurch können viele Versionen von Python nebeneinander existieren, und Python-Skripts können bei Bedarf explizit angeben, welche Version verwendet werden soll. Wenn es nicht angegeben ist, wird standardmäßig die neueste Python 2.X-Version für die aktuelle Architektur (x86 oder x64) verwendet. Dieser Standard kann über eine py.ini-Datei oder eine PY_PYTHON-Umgebungsvariable angepasst werden. Weitere Informationen finden Sie unter docs .

Stellen Sie nur sicher, dass der Python 3.3 der letzte installierte Python ist, der sich bei Windows registriert hat. Wenn später andere Versionen von Python installiert werden, stellen Sie sicher, dass nicht in der Umgebung registriert ist. Der Launcher bleibt also der Standard.

So prüfen Sie, ob der Launcher über die Konsole korrekt registriert ist:

C:\>assoc .py
.py=Python.File

C:\>ftype Python.File
Python.File="C:\Windows\py.exe" "%1" %*

Oben sind .py-Dateien dem Python.File-Typ zugeordnet. Die Befehlszeile für Python.File ist der Python Launcher, der im Windows-Verzeichnis installiert ist, da er sich immer im PFAD befindet.

Führen Sie für die zu verwendende Verknüpfung die Skripts über die Befehlszeile mit script.py aus, nicht mit "python script.py". Andernfalls wird python anstelle von py ausgeführt. py.exe kann auch mit Schaltern ausgeführt werden, um eine Python-Version zu erzwingen:

py -3 script.py    # force latest Python 3.X version to be used.

Fügen Sie außerdem .py;.pyw;.pyc;.pyo zur Umgebungsvariablen PATHEXT hinzu, und die Befehlszeile kann nur script ohne Erweiterung sein.

43
Mark Tolonen

Wenn Sie den Befehl 'py' ausführen, erfahren Sie, welche Version Sie ausführen. Wenn Sie derzeit 3.x ausführen und zu 2.x wechseln müssen, müssen Sie den Schalter '-2' verwenden.

py -2

Wenn Sie von Python 2.x zu Python 3.x wechseln müssen, müssen Sie den Schalter "-3" verwenden

py -3

Wenn Sie Python 3.x als Standardversion verwenden möchten, müssen Sie die Umgebungsvariable 'PY_PYTHON' erstellen und den Wert auf 3 setzen.

28
Vlad Bezden

Siehe hier für den ursprünglichen Beitrag

;
; This is an example of how a Python Launcher .ini file is structured.
; If you want to use it, copy it to py.ini and make your changes there,
; after removing this header comment.
; This file will be removed on launcher uninstallation and overwritten
; when the launcher is installed or upgraded, so don't edit this file
; as your changes will be lost.
;
[defaults]
; Uncomment out the following line to have Python 3 be the default.
;python=3

[commands]
; Put in any customised commands you want here, in the format
; that's shown in the example line. You only need quotes around the
; executable if the path has spaces in it.
;
; You can then use e.g. #!myprog as your Shebang line in scripts, and
; the launcher would invoke e.g.
;
; "c:\Program Files\MyCustom.exe" -a -b -c myscript.py
;
;myprog="c:\Program Files\MyCustom.exe" -a -b -c

So habe ich auf meinem System eine py.ini-Datei unter c:\windows\ erstellt, in der py.exe vorhanden ist, mit folgendem Inhalt:

[defaults]
python=3

Wenn Sie nun auf eine .py-Datei doppelklicken, wird sie von der neuen Standardversion ausgeführt. Jetzt verwende ich nur den Shebang #! python2 in meinen alten Skripten.

13
Ehsan Irannejad
  1. Registrierungsschlüssel bearbeiten HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\App Paths\python.exe\default
  2. Standardprogramm festlegen, um .py-Dateien zu python.exe zu öffnen
9
cuble

Das hat für mich funktioniert:

Gehe zu

Control Panel\System and Security\System

wählen

Advanced system settings from the left panel
from Advanced tab click on Environment Variables

Suchen Sie im Abschnitt Systemvariablen nach ( create wenn nicht vorhanden )

PYTHONPATH

und setzen

C:\Python27\;C:\Python27\Scripts;

oder die gewünschte Version

Sie müssen CMD neu starten.

Falls es immer noch nicht funktioniert, sollten Sie in der PATH-Variablen nur die gewünschte Version belassen.

4
George B

Nach der Veröffentlichung von Python 3.3 ist es am einfachsten, das hier beschriebene Dienstprogramm py.exe zu verwenden: http://www.python.org/dev/peps/pep-0397/

Sie können in Ihrer Skriptdatei eine Python-Version mithilfe einer UNIX-Direktive angeben. Es gibt auch Befehlszeilen- und Umgebungsvariablenoptionen, um zu steuern, welche Version von Python ausgeführt wird.

Der einfachste Weg, dieses Dienstprogramm zu erhalten, ist die Installation von Python 3.3 oder höher.

2
Gerald

Nichts hat funktioniert, das hat bei mir funktioniert: 

ftype Python.File=C:\Path\to\python.exe "%1" %*

Dieser Befehl sollte in der Eingabeaufforderung ausgeführt werden, die als Administrator gestartet wird

Warnung: Auch wenn der Pfad in diesem Befehl auf python35 gesetzt ist, wird bei der Installation von python36 der Standardwert auf python36 gesetzt. Um dies zu verhindern, können Sie den Ordnernamen vorübergehend von Python36 in xxPython36 ändern. Führen Sie den Befehl aus, und entfernen Sie die Änderung im Ordner Python 36. 

2
MagTun

Dies ist der Fall, wenn Sie beide Versionen installiert haben. 

Gehen Sie zu diesem PC -> Rechtsklick -> Klicken Sie auf Eigenschaften -> Erweiterte Systemeinstellungen.

Sie sehen die Systemeigenschaften. Navigieren Sie von hier zur Registerkarte "Erweitert" -> Klicken Sie auf Umgebungsvariablen.

Sie sehen eine obere Hälfte für die Benutzervariablen und die untere Hälfte für Systemvariablen. 

Überprüfen Sie die Systemvariablen und doppelklicken Sie auf den Pfad (um den Pfad zu bearbeiten).

Suchen Sie nach dem Pfad von Python (den Sie ausführen möchten, d. H. Python 2.x oder 3.x) und verschieben Sie ihn an den Anfang der Pfadliste. 

Starten Sie die Eingabeaufforderung neu. Wenn Sie nun die Version von Python überprüfen, sollte die erforderliche Version korrekt angezeigt werden.

2

Wenn Sie ein Windows-Benutzer sind und über eine Version von Python 3.3 oder höher verfügen, sollte auf Ihrem Computer der Python Launcher für Windows installiert sein. Dies wird empfohlen Starten aller python Skripte (unabhängig von der python Version, die das Skript benötigt).

Als Benutzer

  • Geben Sie immer py anstelle von python ein, wenn Sie ein Skript über die Befehlszeile ausführen.
  • Richten Sie Ihre Explorer-Standardprogrammzuordnung "Öffnen mit ..." mit C:\Windows\py.exe Ein.
  • Stellen Sie die Zuordnung der Befehlszeilen-Dateierweiterung so ein, dass Python Launcher für Windows verwendet wird (dies macht die Eingabe von py optional):

    ftype Python.File="C:\windows\py.exe" "%L" %*

  • Legen Sie Ihre bevorzugte Standardversion fest, indem Sie die Umgebungsvariable PY_PYTHON Festlegen. Sie können sehen, welche Version von python Ihre Standardversion ist, indem Sie py eingeben. Sie können auch PY_PYTHON3 Oder PY_PYTHON2 Festlegen, um die Standardversionen python 3 und python 2 anzugeben (falls Sie mehrere haben).

  • Wenn Sie eine bestimmte Version von Python ausführen müssen, können Sie py -M.m Verwenden (wobei M die Hauptversion und m die Nebenversion ist). Zum Beispiel wird mit py -3 python 3 ausgeführt.
  • Listen Sie die installierten Versionen von python mit py -0 Auf.

Als Drehbuchautor

  • Fügen Sie eine Shebang-Zeile am oberen Rand Ihres Skripts ein, die die erforderliche Hauptversionsnummer von python angibt. Wenn das Skript nicht mit einer anderen Nebenversion kompatibel ist, geben Sie auch die Nebenversionsnummer an. Zum Beispiel:

    #!/usr/bin/env python3

  • Sie können die Shebang-Linie auch verwenden, um eine virtuelle Umgebung anzugeben (siehe PEP 486 unten).


Siehe auch

1
Casey Kuball

Prüfen Sie, welches System derzeit verwendet wird:

python --version

Fügen Sie den Hauptordner (z. B. C/ProgramFiles) und den Speicherort (C/ProgramFiles/Scripts) den Umgebungsvariablen des Systems hinzu. Fügen Sie sowohl die 3.x-Version als auch die 2.x-Version hinzu

Die Pfadposition wird innerhalb der Umgebungsvariablen eingestuft. Wenn Sie Python 2.x verwenden möchten, geben Sie zuerst den Pfad von Python 2.x ein. Wenn Sie Python 3.x verwenden möchten, geben Sie zuerst 3.x ein

Dies verwendet Python 2

1
pranavhd

Mit dem Befehl SET in Windows CMD können Sie den Standard-Python für die aktuelle Sitzung vorübergehend festlegen.

SET PATH=C:\Program Files\Python 3.5
0
ron4ex

Diese Arbeit für mich.

Wenn Sie den Python 3.6 verwenden möchten, müssen Sie den Python 3.6 oben auf der Liste verschieben.

Dasselbe gilt für Python2.7 Wenn Sie 2.7 als Standard verwenden möchten, verschieben Sie Python2.7 ganz oben in der Liste.

schritt 1

 enter image description here

schritt 2

 enter image description here

schritt 3

 enter image description here

schließen Sie dann den Befehl cmd und anschließend die Eingabeaufforderung. Es sollte wieder wie erwartet angezeigt werden.

python - Version

>>> Python 3.6
0
George C.