Terima kasih banyak atas sebagian besar jawaban lain yang telah membantu saya menemukan solusinya!
Kasus saya adalah membuka .py
-files dengan py.exe
(tidak python.exe
secara langsung), kasus ini dicatat dalam beberapa komentar, tetapi saya memutuskan untuk memposting ini sebagai jawaban terpisah untuk menekankan perbedaannya.
Jadi saya memiliki .py
-files saya terkait dengan C:\Windows\py.exe
dan dalam C:\Windows\py.ini
konfigurasi saya memiliki beberapa definisi 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
untuk digunakan dalam skrip saya seperti ini #!<MY_VENV_PY>
.
Dan pada Microsoft Windows 7 [Versi 6.1.7601] skrip python saya TIDAK menerima argumen seperti ini
script.py 1 2
tapi ini bekerja dengan baik
py script.py 1 2
Asosiasi file baik-baik saja
> 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" %*
Saya sudah mencoba banyak perubahan registri, tetapi bantuan terakhir adalah perubahan berikut (disimpan ke .reg
-file and run). Saya telah menemukan "%1"
string pencarian kunci registri ini dengan nilai awal "C:\Windows\py.exe" "%1"
dan ditambahkan %*
pada akhirnya sebagai catatan jawaban lain:
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Untuk informasi, sebelum saya mencoba mengatur kunci dan nilai ini dan tidak membantu (setidaknya sebelum yang disebutkan di atas):
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\" %*"