J'ai posé cette question sur le superutilisateur, et j'ai obtenu le badge tumbleweed pour celui-ci (13 vues dans 10 jours), donc j'ai pensé que c'était peut-être le bon endroit.versions python sur winXP
Plusieurs versions de python sont installées sur mon ordinateur Windows. Je veux pouvoir basculer facilement entre les versions utilisées par défaut.
J'ai expérimenté et utilisé winexplorer pour changer le programme associé aux fichiers py. Je définis le programme à utiliser pour ouvrir ces fichiers en tant que wordpad. Maintenant, lorsque je tape un nom de fichier .py dans la ligne de commande, le fichier s'ouvre dans le bloc-notes.
Malgré cela, en tapant ce qui suit dans les rendements en ligne de commande:
C:\>assoc .py
.py=Python.File
C:\>ftype Python.File
Python.File="C:\Program\Python27\python.exe" "%1" %*
Je ne comprends pas pourquoi la ligne de commande exécute WordPad (tel que défini dans l'explorateur Windows), bien que disent assoc et ftype il devrait exécuter Python27.
Ces associations (ligne de commande vs explorateur) sont-elles stockées dans des endroits différents? Lequel substitue lequel, et établit une nouvelle association avec assoc et ftype remplace ce jeu dans l'explorateur?
Que recommanderiez-vous de faire, afin de pouvoir changer facilement?
Plus d'info de mon registre:
HKEY_CLASSES_ROOT.py est Python.File
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.py \ Application est wordpad.exe
HKEY_CURRENT_USER \ Software \ Microsoft \ Windows \ CurrentVersion \ Explorer \ FileExts.py \ OpenWithProgids \ Python.File est une valeur binaire de longueur 0.
HKEY_LOCAL_MACHINE \ SOFTWARE \ Classes.py (Standard) est Python.File
Plus Registre:
HKEY_CLASSES_ROOT \ Applications \ python.exe \ shell \ open \ command (Standard) est toujours « C: \ Program Files \ Python27 \ python.exe ""% 1 "% *,
Je suppose que c'est ce qui apparaît dans ftype Python.File. Mais ça ne semble pas s'habituer.
Modifier pour ajouter registre informations
Regedit dit:
HKEY_CLASSES_ROOT\.py
+--- (Standard) REG_SZ Python.File
+--- Content Type REG_SZ text/plain
J'ai essayé de changer la valeur de Content Type
, aucun effet.
aussi:
HKEY_CLASSES_ROOT\Python.File
+--- shell (no data)
+--- Edit with IDLE
| +--- command
| +--- (Standard) <path-to-idle>
+--- open (no data)
+--- command
+--- (Standard) <path-to-python27>
J'ai essayé de définir la valeur de shell
-open
, et la valeur de open
sur le chemin du python27 exe, ne fonctionne toujours pas. L'invite de commande trouve toujours l'association que j'ai faite dans winexplorer et utilise le mot-clé pour ouvrir le fichier, au lieu d'utiliser la commande dans open
.
Intéressant. Mais qu'est-ce qui fait que 'cmd' utilise wordpad, au lieu de la valeur dans' HKEY_CLASSES_ROOT \ Python.File \ shell \ open \ command'? 'shell' n'a pas de valeur, seulement deux sous-clés' Edit avec IDLE' et 'open', avec chacune une sous-clé' command'. Les deux sous-clés 'command' ont une valeur liée à python, none à wordpad. – Gauthier
donc 'cmd' utilise la valeur de' shell' pour exécuter le script, alors que 'ftype' utilise la valeur de' open'? Ma clé 'shell' n'a pas de valeur, qu'est-ce que cmd utilise alors pour lancer le script (il se trouve que c'est le wordpad, mais quelle est la clé utilisée?). – Gauthier