Un grand merci pour la plupart des autres réponses pour m'aider à trouver la solution!
Mon cas était d'ouvrir .py
-files avec py.exe
(pas python.exe
directement), ce cas, il a été noté dans quelques commentaires, mais j'ai décidé de poster ceci comme une réponse séparée pour souligner la différence.
J'ai donc mes .py
fichiers associés C:\Windows\py.exe
et dans la C:\Windows\py.ini
configuration j'ai quelques définitions de shebang
[commands]
<my_venv_py> = C:\Programs\my_venv_py\Scripts\python.exe
<my_venv_py_w> = C:\Programs\my_venv_py\Scripts\pythonw.exe
à utiliser dans mes scripts comme celui-ci #!<MY_VENV_PY>
.
Et sur Microsoft Windows 7 [Version 6.1.7601] mon script python n'a PAS reçu les arguments comme celui-ci
script.py 1 2
mais cela a bien fonctionné
py script.py 1 2
Les associations de fichiers étaient OK
> assoc .py
.py=Python.File
> ftype | grep Python
File STDIN:
Python.CompiledFile="C:\Windows\py.exe" "%1" %*
Python.File=C:\Windows\py.exe "%L" %*
Python.NoConFile="C:\Windows\pyw.exe" "%1" %*
J'ai essayé beaucoup de changements de registre, mais le dernier a aidé était le changement suivant (enregistré dans un .reg
-file et exécuté). J'ai trouvé cette "%1"
chaîne de recherche de clé de registre avec la valeur initiale "C:\Windows\py.exe" "%1"
et ajoutée %*
à la fin comme le notent d'autres réponses:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Pour information, avant d'essayer de configurer ces clés et valeurs et je n'ai pas aidé (du moins avant ce qui précède):
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\.py]
@="Python.File"
[HKEY_CURRENT_USER\Software\Classes\.py]
@="Python.File"
[HKEY_LOCAL_MACHINE\SOFTWARE\Classes\.py]
@="Python.File"
[HKEY_CURRENT_USER\Software\Microsoft\Windows\CurrentVersion\Explorer\FileExts\.py]
@="Python.File"
[HKEY_CLASSES_ROOT\py_auto_file]
@="Python File"
[HKEY_CLASSES_ROOT\py_auto_file\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
[HKEY_CLASSES_ROOT\Python.File]
@="Python File"
[HKEY_CLASSES_ROOT\Python.File\Shell\Open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"