32

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:

  1. Add the python.exe to my path
  2. Add .py to PATHEXT
  3. 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.

1
  • What exactly is happening behind the scenes when this is done? One should be able to do this from Powershell command line...
    – not2qubit
    Commented Apr 1, 2022 at 20:28

4 Answers 4

45

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.

1
  • 4
    If 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" %*.
    – martineau
    Commented May 30, 2014 at 17:10
16

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.

1
  • 1
    python is so much fun with that
    – musicman
    Commented Feb 1, 2020 at 4:44
1

I was able to get it done using this application http://defaultprogramseditor.com/

1

I tried removing .py extension from file.py name and then ran command python file python can understand the code without any extension for single file, but if you use modules then you need to use .py extension. Else you can add .py to path text in enviornment variables and run

assoc .py=Python.File

ftype Python.File=c:\path to \python.exe "%1" %*

Start asking to get answers

Find the answer to your question by asking.

Ask question

Explore related questions

See similar questions with these tags.