Vielen Dank für die meisten anderen Antworten, die mir geholfen haben, die Lösung zu finden!
Mein Fall war das Öffnen von .py
Dateien mit py.exe
(nicht python.exe
direkt), dieser Fall wurde in einigen Kommentaren vermerkt, aber ich habe beschlossen, dies als separate Antwort zu veröffentlichen, um den Unterschied hervorzuheben.
Also habe ich meine .py
-Dateien mit C:\Windows\py.exe
und in der C:\Windows\py.ini
Konfiguration habe ich ein paar Shebang-Definitionen
[commands]
<my_venv_py> = C:\Programs\my_venv_py\Scripts\python.exe
<my_venv_py_w> = C:\Programs\my_venv_py\Scripts\pythonw.exe
in meinen Skripten so zu verwenden #!<MY_VENV_PY>
.
Und unter Microsoft Windows 7 [Version 6.1.7601] hat mein Python-Skript die folgenden Argumente NICHT erhalten
script.py 1 2
aber das hat gut funktioniert
py script.py 1 2
Dateizuordnungen waren in Ordnung
> 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" %*
Ich habe viele Registrierungsänderungen versucht, aber die letzte Hilfe war die folgende Änderung (in einer .reg
-Datei gespeichert und ausgeführt). Ich habe diese Registrierungsschlüssel-Suchzeichenfolge "%1"
mit dem Anfangswert gefunden "C:\Windows\py.exe" "%1"
und %*
am Ende als Antwort hinzugefügt . Hinweis:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Zur Information, bevor ich versuchte, diese Schlüssel und Werte einzurichten und nicht half (zumindest vor den oben genannten):
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\" %*"