Gdy korzystam z wiersza polecenia w systemie Windows XP Professional (Win + R) i wpisuję python.exe
lub python
, działa i wita mnie pytaniem python.
Jednak gdy uruchamiam cmd
okno, a następnie wpisuję python.exe
lub python
, nie można go znaleźć.
Tego właśnie oczekuję, ponieważ katalogu Python (dla mnie I:\Python31\
) nie ma w moim PATH
.
Jak to się dzieje, że jeśli wpiszesz python.exe
znak zachęty Win + R, to zadziała?
Edycja: oto częściowe wyjście SET
, usunąłem najbardziej niepotrzebne wpisy, nie jestem pewien, dlaczego jest to użyteczne, oprócz PATH
zmiennej, o której mówiłem, że nie zawiera katalogu Pythona. Jeśli potrzebujesz konkretnej zmiennej innej niż te, zapytaj.
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
windows
command-line
path
houbysoft
źródło
źródło
SET
? Możesz go edytować, aby twoje imię się nie pojawiało.Path
jest istotne, czy chcesz konkretną zmienną?Odpowiedzi:
wiersz Uruchom wyszukuje ścieżkę rejestru w poszukiwaniu programów do uruchomienia, a także ścieżkę%. Spójrz
HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths
- prawdopodobnie znajdziesz węzeł o nazwie „Python.exe” z domyślnym wpisem wskazującym na plik wykonywalny Python. Instalatorzy powinni tutaj dodać wpisy rejestru dla wszystkich głównych plików wykonywalnych, ale monit Uruchom jest niedocenianą funkcją, więc wielu programistów zapomina o dodaniu tego prostego kroku do swojego instalatora.źródło
ShellExecuteEx()
robi wyszukiwanie.HKCR\Applications
. Pewnego dnia powinienem je wszystkie wyczyścić.