![为什么当 Python 不在我的路径中时 Win+R 提示可以打开它?](https://linux22.com/image/1260839/%E4%B8%BA%E4%BB%80%E4%B9%88%E5%BD%93%20Python%20%E4%B8%8D%E5%9C%A8%E6%88%91%E7%9A%84%E8%B7%AF%E5%BE%84%E4%B8%AD%E6%97%B6%20Win%2BR%20%E6%8F%90%E7%A4%BA%E5%8F%AF%E4%BB%A5%E6%89%93%E5%BC%80%E5%AE%83%EF%BC%9F.png)
当我使用 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 可执行文件。安装程序应该在这里为所有主要可执行文件添加注册表项,但运行提示是一个未被充分重视的功能,因此很多开发人员忘记将这个简单的步骤添加到他们的安装程序中。