Python in der Befehlszeile läuft die falsche Version?

Ich habe mehrere Versionen von Python auf einem Windows 7-Computer installiert.

Ich möchte Python 2.7 standardmäßig ausführen, aber aus irgendeinem Grund führt die Eingabe von python in der Befehlszeile Python Version 2.4.5 aus. Ich habe versucht, C:\Python27 zu meiner Systempfadvariablen gemäß dieser Frage hinzuzufügen, und meine Pfadvariable manuell gekämmt, um sicherzustellen, dass Python 2.4.5 nicht versehentlich hineingeworfen wurde, aber das hat das Problem nicht behoben. Ich muss jedes Mal C:\Python27\python.exe eingeben, wenn ich möchte greifen Sie auf die gewünschte Python-Version zu.

Welche anderen Orte kann ich überprüfen? Wie kann ich die Befehlszeile dazu bringen, die richtige Version von Python zu verwenden?

Ich habe auch dieses aber es ist nicht für Windows.

[BEARBEITEN]
Mein Pfad (durch Semikolons getrennt):

C:\Program Files\Common Files\Microsoft Shared\Windows Live;
C:\Program Files (x86)\Common Files\Microsoft Shared\Windows Live;
C:\Windows\system32;
C:\Windows;
C:\Windows\System32\Wbem;
C:\Windows\System32\WindowsPowerShell\v1.0\;
C:\Program Files\Dell\DW WLAN Card\Driver;
C:\Program Files (x86)\Common Files\Roxio Shared\DLLShared\;
C:\Program Files (x86)\Windows Live\Shared;
c:\Program Files (x86)\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\Tools\Binn\;
c:\Program Files\Microsoft SQL Server\100\DTS\Binn\;
C:\Program Files\TortoiseGit\bin;
C:\Program Files\Java\jdk1.6.0_26\bin;
C:\Program Files\Java\jdk1.6.0_21 ;
C:\Program Files\IVI Foundation\VISA\Win64\Bin\;
C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin\;
C:\Program Files (x86)\IVI Foundation\VISA\WinNT\Bin;
C:\Program Files\WPIJavaCV\OpenCV_2.2.0\bin;
C:\Program Files (x86)\LilyPond\usr\bin;
C:\Program Files\TortoiseSVN\bin;
C:\Program Files (x86)\doxygen\bin;
C:\Program Files (x86)\Graphviz 2.28\bin;
C:\Users\Michael\bin\Misc\cppcheck\;
C:\Program Files (x86)\Git\cmd;
C:\Python27\python.exe;
C:\Ruby192\bin;
C:\Users\Michael\AppData\Roaming\cabal\bin;
C:\Python27\; 

[BEARBEITEN 2]
Running - python spuckt dies aus:

'import site' failed; used -v for traceback
Python 2.4.5 (#1, Jul 22 2011, 02:01:04)
[GCC 4.1.1] on mingw32
Type "help", "copyright", "credits" or "license" for more information.
>>> 

...und das Ausführen von python --version (wie unten vorgeschlagen) scheint eine nicht erkannte Option zu sein.

(ich auch versucht, python -v auszuführen, und es scheint, dass Python 2.4 versucht, Bibliotheken aus C:\Python27\Lib zu importieren, und aufgrund eines Syntaxfehlers fehlgeschlagen ist, als eine with - Anweisung aufgetreten ist, die in einer späteren Version hinzugefügt wurde, denke ich)

Außerdem bin ich mir nicht sicher, ob es signifikant ist oder nicht, aber die obige Python-Version sagt etwas über GCC und mingw32 aus, während die Ausführung von C:\python27\python.exe Folgendes zeigt:

Python 2.7.2 (default, Jun 12 2011, 15:08:59) [MSC v.1500 32 bit (Intel)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>> 
Author: Community, 2012-06-07

3 answers

Während Sie sich in einer Python 2.4.5-Sitzung befinden, verwenden Sie dies, um den Python zu finden.exe, die abgeholt wird:

import sys
print sys.executable

Wenn Sie mit mehreren Versionen spielen möchten, können Sie sich nicht auf %PATH%verlassen. Stattdessen können Sie separate Batch-Dateien erstellen, die die gewünschte Version aufrufen (stellen Sie jedoch sicher, dass sich die Batch-Dateien selbst im PFAD befinden). Zum Beispiel könnten Sie für 2.7.2 einen PY27 erstellen.BAT, das einfach enthält:

@C:\Python27\Python.exe $*
 2
Author: efotinis,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2012-06-07 16:59:22

Sie müssen die Erweiterung .py im Registrierungseditor aktualisieren. Suchen Sie nach der Erweiterung ".py" und sehen Sie sich an, was die (Standard -) Taste auch zeigt. Es ist wahrscheinlich, in:

HKEY_CLASSES_ROOT/.py/(Default)

Die" Daten "dieses Schlüssels sind wahrscheinlich" Python.Datei" (siehe screenshot unten). geben Sie hier die Bildbeschreibung ein

Verwenden Sie dies auch, um einen zweiten Schlüssel nachzuschlagen:

HKEY_CLASSES_ROOT/<previous_keys_data>/shell/open/command/@default
e.g.
HKEY_CLASSES_ROOT/Python.File/shell/open/command/@default

Der (Standard -) Schlüssel enthält den Pfad zum verwendeten Python-Interpreter. Aktualisieren Sie es nach Bedarf, um auf das zu verweisen, das Sie verwenden möchten. (sehen Abbildung) geben Sie hier die Bildbeschreibung ein

Hintergrund

Der in der Befehlszeile ausgewählte Python-Interpreter verwendet nur die Umgebungsvariable PATH, wenn Sie die ausführbare Python-Datei tatsächlich angeben. d. h.

python myProgram.py

Ohne "python" einzuschließen, versucht die Befehlsshell, ein Programm zum Öffnen von .py-Dateien zu finden (der erste Schlüssel oben).

Es wird dann diese Taste verwenden, um ein geeignetes Programm (die zweite Taste) zu finden.

Wie @efotinis sagte, können Sie den Interpreter bestimmen verwendet mit dem einfachen Programm:

import sys
print sys.executable

Versuchen Sie, dies mit beiden folgenden Methoden auszuführen, um den Unterschied zwischen der Verwendung von PATH zum Suchen der von Ihnen angegebenen ausführbaren Datei und der Verwendung des Befehlsinterpreters zum Suchen eines Programms zum Öffnen der angegebenen .py-Datei festzustellen.

python myProgram.py
myProgram.py
 6
Author: jmc,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2013-01-29 13:14:32

Posting, weil dieser Thread Top-Ergebnisse erhält und ich diese Antwort nicht sehe. Diese einfache Lösung hat für mich unter Windows 7 funktioniert. Sie müssen sich Ihre Systemvariablen für die Pfadvariable ansehen.1 echo %PATH% scheint sie nicht in der richtigen Reihenfolge für mich zu drucken, also benutze Folgendes, um sie anzuzeigen und zu bearbeiten:

Überprüfen Sie Ihre Systemvariablen, indem Sie im Windows-Menü mit der rechten Maustaste auf Arbeitsplatz klicken ‣ Eigenschaften ‣ Erweiterte Systemeinstellungen ‣ Registerkarte Erweitert ‣ Schaltfläche Umgebungsvariablen ‣ unter System Variablen Pfad auswählen ‣ Schaltfläche Bearbeiten

Dies öffnet ein Fenster zum Bearbeiten von Path. Wenn Sie mehrere Versionen von Python installiert haben, stellen Sie sicher, dass die, die Sie als Standard verwenden möchten, zuerst in der Liste steht. Wenn Python 2.7 beispielsweise die Standardeinstellung sein soll, sollte dies vor anderen Versionen aufgeführt werden.

Meins sieht so aus: C:\Python27\;C:\Program Files (x86)\Python35-32\;

Um zu bestätigen, dass es funktioniert, starten Sie neu und öffnen Sie die cmd-Eingabeaufforderung. Dann laufen python -V

Jetzt gibt es Python 2.7.11 aus und führt Skripte aus, die nur darauf angewiesen sind auf dem Befehl python scheint diese Version zu verwenden.

 0
Author: iyrin,
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/techietown.info/template/agent.layouts/content.php on line 61
2016-06-12 06:59:46