Wielkie dzięki za większość innych odpowiedzi za pomoc w znalezieniu rozwiązania!
Mój przypadek polegał na otwarciu .py
-plików z py.exe
(nie python.exe
bezpośrednio), ten przypadek odnotowano w kilku komentarzach, ale postanowiłem opublikować to jako oddzielną odpowiedź, aby podkreślić różnicę.
Więc ja mam .py
-files związany z C:\Windows\py.exe
i w C:\Windows\py.ini
config Mam kilka definicji 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
używać w moich skryptach w ten sposób #!<MY_VENV_PY>
.
A na Microsoft Windows 7 [wersja 6.1.7601] mój skrypt Pythona NIE otrzymał takich argumentów
script.py 1 2
ale to działało dobrze
py script.py 1 2
Powiązania plików były w porządku
> 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" %*
Próbowałem wielu zmian w rejestrze, ale ostatnią pomogła była następująca zmiana (zapisana do pliku .reg
-file i uruchom). Znalazłem ten "%1"
ciąg wyszukiwania klucza rejestru z wartością początkową "C:\Windows\py.exe" "%1"
i dodałem %*
na końcu jako uwagę innych odpowiedzi:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Dla informacji, zanim spróbowałem ustawić te klucze i wartości i nie pomogło (przynajmniej przed wspomnianym powyżej):
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\" %*"