Çözümü bulmama yardımcı olduğunuz için diğer yanıtların çoğu için çok teşekkürler!
Benim .py
durumum -files py.exe
(değilpython.exe
doğrudan ) , bu durum birkaç yorumda belirtildi, ancak farkı vurgulamak için bunu ayrı bir cevap olarak göndermeye karar verdim.
Bu yüzden, .py
-filesim ile ilişkili C:\Windows\py.exe
ve config'de C:\Windows\py.ini
birkaç shebang tanımım var
[commands]
<my_venv_py> = C:\Programs\my_venv_py\Scripts\python.exe
<my_venv_py_w> = C:\Programs\my_venv_py\Scripts\pythonw.exe
komut dosyalarımda bunun gibi kullanmak #!<MY_VENV_PY>
.
Ve Microsoft Windows 7 [Sürüm 6.1.7601] benim python komut dosyası ETMEDİ böyle args alınan
script.py 1 2
ama bu iyi çalıştı
py script.py 1 2
Dosya ilişkilendirmeleri iyiydi
> 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" %*
Kayıt defteri değişikliklerinin çoğunu denedim, ancak son yardım aşağıdaki değişiklikti (bir .reg
dosyaya kaydedildi ve çalıştırıldı). Bu kayıt defteri anahtarını arama "%1"
dizesini başlangıç değeriyle buldum"C:\Windows\py.exe" "%1"
%*
ve sonunda diğer yanıtların notu olarak ekledim :
Windows Registry Editor Version 5.00
[HKEY_CLASSES_ROOT\Applications\py.exe\shell\open\command]
@="\"C:\\Windows\\py.exe\" \"%1\" %*"
Bilgi için, bu anahtarları ve değerleri kurmaya çalışmadan önce ve yardımcı olmadım (en azından yukarıda belirtilenlerden önce):
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\" %*"