Python is one of the most popular programming languages in the world.  With its simple and easy to learn syntax, Python is a great choice for  beginners and experienced developers. Python is quite a versatile  programming language. It can be used as a scripting language, to build  games, develop websites, create machine learning algorithms, and analyze  data.

Python 3.7 includes many new features such as postponed  evaluation of type annotations, support for data classes and context  variables, customization of access to module attributes, and more.

This tutorial describes two ways of installing Python 3.7 on Ubuntu 18.04: By using the standard apt tool from the deadsnakes PPA, and by building from the source code.

The same steps apply for Ubuntu 16.04 and any Ubuntu-based distribution, including Kubuntu, Linux Mint, and Elementary OS.


You’ll need to be logged in as root or user with sudo access to be able to install packages on your Ubuntu system.

Installing Python 3.7 on Ubuntu with Apt

Installing Python 3.7 on Ubuntu with apt is a relatively straightforward process and will only take a few minutes:

Start by updating the packages list and installing the prerequisites:

sudo apt update

Next, add the deadsnakes PPA to your sources list:

sudo add-apt-repository ppa:deadsnakes/ppa

When prompted press Enter to continue:

Press [ENTER] to continue or Ctrl-c to cancel adding it.

Once the repository is enabled, install Python 3.7 with:

sudo apt install python3.7

At this point, Python 3.7 is installed on your Ubuntu system and ready to be used. You can verify it by typing:

python3.7 --version
Python 3.7.3

Installing Python 3.7 on Ubuntu from Source

In this section, we’ll show you how to download and compile Python 3.7:

First, update the packages list and install the packages necessary to build Python source:

sudo apt update

Download the latest release’s source code from the Python download page using the following wget command:


At the time of writing this article, the latest release is 3.7.4.

Once the download is complete, extract the gzipped tarball:

tar -xf Python-3.7.4.tgz

Next, navigate to the Python source directory and run the configure script which will perform a number of checks to make sure all of the dependencies on your system are present:

cd Python-3.7.4

The --enable-optimizations option will optimize the Python binary by running multiple tests. This makes the build process slower.

Start the Python build process using make:

make -j 8

For faster build time, modify the -j flag according to your processor. If you do not know the number of cores your processor, you can find it by typing nproc. The system used in this guide has 8 cores, so we are using the -j8 flag.

When the build is done, install the Python binaries by running the following command:

sudo make altinstall

Do not use the standard make install as it will overwrite the default system python3 binary.

That’s it. Python 3.7 has been installed and ready to be used. Verify it by typing:

python3.7 --version

The output will show the Python version:

Python 3.7.4


You have installed Python 3.7 on your Ubuntu 18.04 machine and you can start developing your Python 3 project.

Next, you can read about How to Use Pip and How to Create Python Virtual Environments for different Python projects.

If you have any questions or feedback, feel free to comment below.