Making Python scripts run on Windows without specifying ".py" extension
Solution 1
Add .PY to PATHEXT as noted before
Then do:
assoc .py=Python.File
ftype Python.File=c:\Python27\python.exe "%1" %*
Adding python to the path isn't necessary to execute the script in a command prompt or double clicking in Explorer, only if you want to start an interactive python session or running the script with python yourscript.py
See http://docs.python.org/2/using/windows.html for more details.
Solution 2
Modify the PATHEXT
variable to include Python scripts. For example, here's mine:
PATHEXT=.COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC;.PY
You can do this every time you open a command console, or just modify your user global environment variables so that every instance of cmd.exe will include it.
Solution 3
I was able to get it done using this application http://defaultprogramseditor.com/
Related videos on Youtube
dublintech
Updated on June 19, 2022Comments
-
dublintech almost 2 years
I want to able to open a command prompt at the folder which contains a python script and just type in the script name without the .py and watch it run.
Following the various tips on google to do this, I do:
- Add the python.exe to my path
- Add .py to PATHEXT
- Try to open the .py file in windows explored. When prompted with: What program do you want to open this? I navigate to my python.exe
What should happen is the python.exe should be added to the 'Open With' pop up, but it is not? I re try with the python.exe off my path. Same problem.
Note every time I set a path it is in the control panel. Version of python is 2.7. And to make things stranger, I can associate .py programs with pythonw - but this is no use, as I want the console.
Any help appreciated.
-
not2qubit about 2 yearsWhat exactly is happening behind the scenes when this is done? One should be able to do this from Powershell command line...
-
martineau almost 10 yearsIf you have more than one version of Python installed (like 2.7.x and 3.4), you might want to use
ftype Python.File="C:\Windows\py.exe" "%1" %*
. -
Jason Aller about 6 yearsWhat advantage does this offer over the existing answers? It appears that a separate .cmd file would need to be created for each script you want to launch in this manner.
-
musicman about 4 yearspython is so much fun with that