Running Python programs
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)
Notice the >>>
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 print()
:
print(name)
Note: in the REPL, you can also just type
name
, press theenter
key 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 useprint()
instead.
Any line of Python you write here is going to be executed immediately.
Type 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
:
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 program.py
:
and then run it with python program.py
Note that we save Python programs with the
.py
extension, 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
./program.py
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:
→ I wrote 17 books to help you become a better developer, download them all at $0 cost by joining my newsletter
→ JOIN MY CODING BOOTCAMP, an amazing cohort course that will be a huge step up in your coding career - covering React, Next.js - next edition February 2025