How to Install Python 3.7 on Ubuntu 18.04

By 

Updated on

3 min read

Install Python 3.7 on Ubuntu 18.04

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.

Prerequisites

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:

  1. Start by updating the packages list and installing the prerequisites:

    Terminal
    sudo apt update
    sudo apt install software-properties-common
  2. Next, add the deadsnakes PPA to your sources list:

    Terminal
    sudo add-apt-repository ppa:deadsnakes/ppa

    When prompted press Enter to continue:

    output
    Press [ENTER] to continue or Ctrl-c to cancel adding it.
  3. Once the repository is enabled, install Python 3.7 with:

    Terminal
    sudo apt install python3.7
  4. At this point, Python 3.7 is installed on your Ubuntu system and ready to be used. You can verify it by typing:

    Terminal
    python3.7 --version
    output
    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:

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

    Terminal
    sudo apt update
    sudo apt install build-essential zlib1g-dev libncurses5-dev libgdbm-dev libnss3-dev libssl-dev libsqlite3-dev libreadline-dev libffi-dev wget libbz2-dev
  2. Download the latest release’s source code from the Python download page using the following wget command:

    Terminal
    wget https://www.python.org/ftp/python/3.7.4/Python-3.7.4.tgz

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

  3. Once the download is complete, extract the gzipped tarball :

    Terminal
    tar -xf Python-3.7.4.tgz
  4. 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:

    Terminal
    cd Python-3.7.4
    ./configure --enable-optimizations

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

  5. Start the Python build process using make:

    Terminal
    make -j 8

    For faster build time, modify the -j flag according to your processor. If you do not know the number of cores in 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.

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

    Terminal
    sudo make altinstall

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

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

    Terminal
    python3.7 --version

    The output will show the Python version:

    output
    Python 3.7.4

Conclusion

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.

Linuxize Weekly Newsletter

A quick weekly roundup of new tutorials, news, and tips.

About the authors

Dejan Panovski

Dejan Panovski

Dejan Panovski is the founder of Linuxize, an RHCSA-certified Linux system administrator and DevOps engineer based in Skopje, Macedonia. Author of 800+ Linux tutorials with 20+ years of experience turning complex Linux tasks into clear, reliable guides.

View author page