Install and Upgrade Python on Ubuntu

Learn how you can install Python version of your choice in Ubuntu or upgrade to a newer version.

The Python language has been gaining popularity for several years, both as a programming and a scripting language.

Ubuntu and almost every other Linux distribution have been shipping with some version of Python for quite a long time.

You can check the version of python with the following command:

python3 --version

Running the command will show the version of Python v3 that you have installed.

Isn't Python already installed?

Well yes, when you install Ubuntu, a version of Python is automatically installed as most system utilities also depend on it.

The problem here is that many people try to run python directly and they will be surprised when their Ubuntu system throws an error:

Command 'python' not found

The thing is that in Ubuntu, the Python version 3.x is installed and its binary is named python3, not python.

Sometimes, the version that is pre-installed, or the latest version that is available from Ubuntu's repositories is older than the one found on python.org.

To check the version of Python that is installed, run the following command in your terminal:

$ python3 --version
Python 3.10.4

At the time of writing this article, the latest version found on python.org is 3.10.4, which is exactly what I have installed from the first-party repository.

Weirdly, if Python is not found, you might get a similar error:

$ python3 --version
python3: command not found
Learn Advanced Python 3 | Codecademy
Codecademy is the easiest way to learn how to code. It’s interactive, fun, and you can do it with your friends.

Install and Upgrade Python

In case you do not have Python installed, fret not. You can easily install it from Ubuntu's software repositories.

Use the apt package manager to install Python. Below is the command to run:

sudo apt update
sudo apt install python3

The first command will update the local package list, in case it was out of sync. The second command will install whatever the latest version of Python v3 is available at the moment.

Even if you have Python installed, the 'apt' package manager will install a newer version of Python, if available. This goes without saying, the dependencies will also be installed and/or upgraded as well.

Ubuntu takes care of the Python version it provides. If there are security or maintenance updates, you get them with the system updates. You just have to update your system to get Python upgrades (if there are any from Ubuntu).

Python version in Ubuntu repositories is old?

With the announcement of a new Annual Release Cycle for Python, a new version of Python will be released every year, as opposed to every 1.5 years.

This means the version available in repositories for Ubuntu's LTS versions will not stay "latest and greatest" after a while.

This does not mean that you stop receiving updates to Python altogether. Even if the version of Python is old, you will get all the necessary security updates, including any additional bug fixes.

What should I do?

I recommend you use the version of Python provided by Ubuntu. As previously, Canonical (parent company of Ubuntu) will continue providing necessary updates to your stable version of Python. It includes up-to-date bug fixes and security updates for Python.

I want updates!

In any case, if you want to install a newer version of Python than what is available in Ubuntu's repositories, you have a few options.

The easiest option is to use a third-party PPA. That way, you are out of the hassle of applying necessary patches and compiling every time a new version of Python is released.

Using Deadsnakes PPA (if you really want the latest Python)

The Deadsnakes PPA contains a more recent version of Python packaged for Ubuntu. This means you can install a newer version of Python even if the first-party repositories contain an older version.

⚠️
A disclaimer from PPA maintainer themselves:

There is no guarantee of timely updates in case of security problems or other issues. If you want to use them in a security-or-otherwise-critical environment (say, on a production server), you do so at your own risk.

Before adding a PPA, the 'software-properties-common' package needs to be installed first. Do that with the following command:

sudo apt install software-properties-common

Once the apt repositories manager package is installed, we can now easily add the Deadsnakes PPA. The command to do so is given below:

sudo add-apt-repository ppa:deadsnakes/ppa

The PPA is added. Now we need to update the local package list.

sudo apt update

Finally, install the latest version of Python with the following command:

sudo apt install python3

That will install the latest version of Python that is available.

Once the latest version of Python is installed, check it using the following command:

python3 --version

Ensure that the command's output aligns with the version of Python you are in need of.

Well, that's about it. You get to install Python version of your choice on Ubuntu. Enjoy scripting with Python.