Frage Wie kann die Win + R-Eingabeaufforderung Python öffnen, wenn es nicht in meinem Pfad ist?


Wenn ich die Startaufforderung in Windows XP Professional (Win + R) verwende, und geben Sie ein python.exe oder python, es funktioniert und grüßt mich mit der Python-Eingabeaufforderung.

Allerdings, wenn ich einen starte cmd Fenster, und geben Sie dann ein python.exe oder pythonEs findet es nicht.

Dies ist, was ich erwarte, wie das Python-Verzeichnis (für mich, I:\Python31\) ist nicht in meinem PATH.

Wie kommt es dann, wenn ich tippe python.exe in der Win + R-Eingabeaufforderung funktioniert es?

Edit: Hier ist eine Teilausgabe von SET, Ich habe die meisten irrelevanten Einträge entfernt, ich bin nicht sicher, warum es nützlich ist, abgesehen von der PATH Die Variable, die ich bereits erwähnt habe, enthält nicht das Python-Verzeichnis. Wenn Sie eine andere Variable als diese benötigen, fragen Sie bitte.

CLIENTNAME=Console
CommonProgramFiles=I:\Program Files\Common Files
ComSpec=I:\WINDOWS\system32\cmd.exe
FP_NO_HOST_CHECK=NO
OS=Windows_NT
Path=I:\WINDOWS\system32;I:\WINDOWS;I:\WINDOWS\system32\WBEM;I:\WINDOWS\system32\WindowsPowerShell\v1.0;I:\Qt\2010.05\mingw\bin;I:\Program Files\CMake 2.8\bin
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.PSC1
ProgramFiles=I:\Program Files
PROMPT=$P$G
SESSIONNAME=Console
SystemDrive=I:
SystemRoot=I:\WINDOWS
VBOX_INSTALL_PATH=I:\Program Files\Oracle\VirtualBox\
windir=I:\WINDOWS

4
2018-01-03 01:22


Ursprung


Könnten Sie Ihre Frage so bearbeiten, dass sie die Ausgabe von enthält? SET? Möglicherweise möchten Sie es bearbeiten, damit Ihr Name nicht angezeigt wird. - paradroid
Posted Teile davon, nicht sicher, wie alles andere als Path ist relevant, willst du eine bestimmte Variable? - houbysoft
Was ist dein Arbeitsverzeichnis? - digitxp


Antworten:


Die Eingabeaufforderung "Run" durchsucht einen Registrierungspfad nach Programmen, die gestartet werden sollen, sowie nach dem% path%. Sieh dir das an HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths - Sie werden wahrscheinlich einen Knoten namens "Python.exe" finden, dessen Standardeintrag auf die ausführbare Python-Datei verweist. Installateure sollte Fügen Sie hier Registrierungseinträge für alle ausführbaren Hauptdateien hinzu, aber die Ausführungsaufforderung ist eine unterbewertete Funktion. Viele Entwickler vergessen daher, diesen einfachen Schritt ihrem Installationsprogramm hinzuzufügen.


12
2018-01-03 02:48



Das wusste ich selbst nie, danke für die Antwort! - houbysoft
Technisch ist es ShellExecuteEx() das tut die Suche. - grawity
Tatsächlich gibt es mehrere Stellen in der Registrierung, in denen sich beispielsweise Pfade befinden HKCR\Applications. Eines Tages sollte ich sie alle sauber machen. - Synetech