Last Updated: Tuesday 17th September 2013

If you can't execute or run a Python script, then programming is pointless. When you run a Python script, the interpreter converts a Python program into something that that the computer can understand. Executing a Python program can be done in two ways: calling the Python interpreter with a shebang line, and using the interactive Python shell.

Run a Python Script as a File

Generally programmers write stand alone scripts, that are independent to live environments. Then they save it with a ".py" extension, which indicates to the operating system and programmer that the file is actually a Python program. After the interpreter is invoked, it reads and interprets the file. The way Python scripts are run on Windows versus Unix based operating systems is very different. We'll show you the difference, and how to run a Python script on Windows and Unix platforms.

Run a Python script under Windows with the Command Prompt

Windows users must pass the path of the program as an argument to the Python interpreter. Such as follows:

Note that you must use the full path of the Python interpreter. If you want to simply type python.exe C:\Users\Username\Desktop\ you must add python.exe to your PATH environmental variable. To do this, checkout the adding Python to the PATH environment article..

Window's python.exe vs pythonw.exe

Note that Windows comes with two Python executables - python.exe and pythonw.exe. If you want a terminal to pop-up when you run your script, use python.exe However if you don't want any terminal pop-up, use pythonw.exe. pythonw.exe is typically used for GUI programs, where you only want to display your program, not the terminal.

Run a Python Script Under Mac, Linux, BSD, Unix, etc

On platforms like Mac, BSD or Linux (Unix) you can put a "shebang" line as first line of the program which indicates the location of the Python interpreter on the hard drive. It's in the following format:

A common shebang line used for the Python interpreter is as follows:

You must then make the script executable, using the following command:

Unlike Windows, the Python interpreter is typically already in the $PATH environmental variable, so adding it is un-necessary.

You can then run a program by invoking the Python interpreter manually as follows:

Python Execution with the Shell (Live Interpreter)

Assuming that you already have Python installed and running well (if you're getting an error, see this post), open the terminal or console and type 'python' and hit the 'Enter' key. You will then be directed immediately to the Python live interpreter. Your screen will display a message something like:

The Python programmer should keep in mind one thing: that while working with the live interpreter, everything is read and interpreted in real-time. For example loops iterate immediately, unless they are part of function. So it requires some mental planning. Using the Python shell is typically used to execute code interactively. If you want to run a Python script from the interpreter, you must either import it or call the Python executable.

To Practice: Try this interactive course on the basics of Lists, Functions, Packages and NumPy in Python.

  • I don’t know poop

    I can’t find the Python Shell for 3.3. I am trying to learn it.

  • emjaysea

    I just get an “invalid syntax” error when I try this…

  • moka

    do not try it will jast give you words

  • hjelp

    I also just get “invalid syntax” with the : in C: highlighted. And the path most definitely exists.

  • krishna

    Windows cmd prompt: c:python27python.exe “c:usersdocumentmypython”
    and click enter.

  • Tony

    you saved my day.
    thank you

  • guest

    Is there a way to run a saved script in the Python.exe screen instead of the command prompt screen? I guess I don’t understand what the point of the Python.exe screen is if we run the saved script files in the command prompt.

  • Pankaj Sharma