为什么当 Python 不在我的路径中时 Win+R 提示可以打开它?

为什么当 Python 不在我的路径中时 Win+R 提示可以打开它?

当我使用 Windows XP Professional (Win+R) 中的运行提示符并键入python.exe或 时python,它可以正常工作并使用 python 提示符向我打招呼。

但是,当我启动一个cmd窗口,然后键入python.exe或 时python,它找不到它。

这正是我所期望的,因为 Python 目录(对我来说I:\Python31\)不在我的PATH.

那么,为什么我python.exe在 Win+R 提示中输入时它就起作用了?

编辑:这是 的部分输出SET,我删除了大多数不相关的条目,我不确定它有什么用,除了PATH我已经说过的变量不包括 Python 目录。如果您需要除这些之外的特定变量,请询问。

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

答案1

运行提示会搜索要启动的程序的注册表路径以及 %path%。查看一下HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths- 您可能会找到一个名为“Python.exe”的节点,其中的默认条目指向 Python 可执行文件。安装程序应该在这里为所有主要可执行文件添加注册表项,但运行提示是一个未被充分重视的功能,因此很多开发人员忘记将这个简单的步骤添加到他们的安装程序中。

相关内容