Installing a custom version of Python 3

Overview

Python3 is available on Shared, VPS, and Dedicated Servers. If you wish to use a specific version, you can install it locally under your Shell user by following the steps in this article.

To run the following commands, you must log in to your server via SSH with your Shell user. View the following articles for more information:

Installing Python 3

The instructions below install version 3.9.2. Make sure to change this to your chosen version in the commands below.

  1. Choose the version you wish to install from python.org.
    download python
  2. Right-click on the link titled Gzipped source tarball of the version you wish to install. From the popout menu choose Copy Link Location.
  3. Log into your server via SSH, and then run the following commands one at a time:
    [server]$ cd ~
    [server]$ mkdir tmp
    [server]$ cd tmp
    [server]$ wget https://www.python.org/ftp/python/3.9.2/Python-3.9.2.tgz
    [server]$ tar zxvf Python-3.9.2.tgz 
    [server]$ cd Python-3.9.2
    [server]$ ./configure --prefix=$HOME/opt/python-3.9.2 [server]$ make [server]$ make install
    • These commands install your local version of python to /home/username/opt/python-3.9.2.
  4. Navigate back to your user's home directory:
    [server]$ cd ~
  5. View the creating and editing a file via SSH article for instructions on how to edit your existing .bash_profile. To use the new version of Python over the system default, enter the following line to your .bash_profile:
    export PATH=$HOME/opt/python-3.9.2/bin:$PATH
  6. Save and close the file, and then return to your shell. Run the following command to update this file:
    [server]$ . ~/.bash_profile
  7. Check which version of Python you're now using by entering the following command:
    [server]$ which python3
    /home/username/opt/python-3.9.2/bin/python3

    You can also check the version:

    [server]$ python3 --version
    Python 3.9.2

    If there is no response then the newly downloaded copy is not being used. Most often this is due to the .bash_profile not being updated correctly. Try logging out and back in again. If necessary, repeat the steps above.

If you're using Django

If you're using Django, make sure to view the following articles:

See also

Did this article answer your questions?

Article last updated PST.

Still not finding what you're looking for?