Running Python programs
The Valley of Code
Your Web Development Manual
How to run programs written in Python
There are a few different ways to run Python programs.
In particular, you have a distinction between using interactive prompts, where you type Python code and it’s immediately executed, and saving a Python program into a file, and executing that.
Let’s start with interactive prompts.
If you open your terminal and type
python, you will see a screen like this:
This is the Python REPL (Read-Evaluate-Print-Loop)
>>> symbol, and the cursor after that. You can type any Python code here, and press the
enter key to run it.
For example try defining a new variable using
name = "Flavio"
and then print its value, using
Note: in the REPL, you can also just type
name, press the
enterkey and you’ll get the value back. But in a program, you are not going to see any output if you do so - you need to use
Any line of Python you write here is going to be executed immediately.
quit() to exit this Python REPL.
You can access the same interactive prompt using the IDLE application that’s installed by Python automatically:
This might be more convenient for you because with the mouse you can move around and copy/paste more easily than with the terminal.
Those are the basics that come with Python by default. However I recommend to install IPython, probably the best command line REPL application you can find.
Install it with
pip install ipython
Make sure the pip binaries are in your path, then run
ipython is another interface to work with a Python REPL, and provides some nice features like syntax highlighting, code completion, and much more.
The second way to run a Python program is to write your Python program code into a file, for example
and then run it with
Note that we save Python programs with the
.pyextension, that’s a convention.
In this case the program is executed as a whole, not one line at a time. And that’s typically how we run programs.
We use the REPL for quick prototyping and for learning.
On Linux and macOS a Python program can also be transformed into a shell script, by prepending all its content with a special line that indicates which executable to use to run it.
On my system the Python executable is located in
/usr/bin/python3, so I type
#!/usr/bin/python3 in the first line:
Then I can set execution permission on the file:
chmod u+x program.py
and I can run the program with
This is especially useful when you write scripts that interact with the terminal.
We have many other ways to run Python programs.
One of them is using VS Code, and in particular the official Python extension from Microsoft:
After installing this extension you will have Python code autocompletion and error checking, automatic formatting and code linting with
pylint, and some special commands, including:
Python: Start REPL to run the REPL in the integrated terminal:
Python: Run Python File in Terminal to run the current file in the terminal:
Python: Run Current File in Python Interactive Window:
and many more. Just open the command palette (View -> Command Palette, or Cmd-Shift-P) and type
python to see all the Python-related commands: