Question Comment se fait-il que Win + R prompt peut ouvrir Python s'il n'est pas sur mon chemin?


Lorsque j'utilise l'invite d'exécution dans Windows XP Professionnel (Win + R) et tapez python.exe ou python, ça marche et me salue avec l'invite python.

Cependant, quand je commence un cmd fenêtre, puis tapez python.exe ou python, il ne le trouve pas.

C'est ce que j'attend, comme le répertoire Python (pour moi, I:\Python31\) n'est pas dans mon PATH.

Comment se fait-il que si je tape python.exe dans l'invite Win + R, ça marche?

Edit: voici une sortie partielle de SET, J'ai enlevé la plupart des entrées non pertinentes, je ne suis pas sûr pourquoi est-ce utile, en dehors de la PATH variable que j'ai déjà dit n'inclut pas le répertoire Python. Si vous avez besoin d'une variable particulière autre que celles-ci, veuillez demander.

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


origine


Pourriez-vous modifier votre question pour inclure la sortie de SET? Vous voudrez peut-être le modifier pour que votre nom n'apparaisse pas. - paradroid
Parties de celui-ci, pas sûr de quoi d'autre que Path est pertinent, voulez-vous une variable spécifique? - houbysoft
Quel est votre répertoire de travail? - digitxp


Réponses:


l'invite Exécuter recherche un chemin de registre pour les programmes à lancer, ainsi que le% chemin%. Jeter un coup d'œil à HKLM\Software\Microsoft\Windows\CurrentVersion\App Paths - vous trouverez probablement un noeud appelé "Python.exe" avec l'entrée par défaut pointant vers l'exécutable Python. Installateurs devrait ajoutez ici des entrées de registre pour tous les exécutables principaux, mais l'invite Exécuter est une fonctionnalité sous-estimée, de nombreux développeurs oublient donc d'ajouter cette simple étape à leur installateur.


12
2018-01-03 02:48



Je n'ai jamais su cela moi-même, merci pour la réponse! - houbysoft
Techniquement c'est ShellExecuteEx() cela fait la recherche. - grawity
En fait, il existe plusieurs endroits dans le registre où se trouvent des chemins, par exemple HKCR\Applications. Un jour, je devrais les nettoyer tous. - Synetech