Debian 9 - How to upgrade python 3.5 to python 3.7

Python upgrade 3.5 to 3.7

I recently spent 30 minutes figuring out how to upgrade to python 3.7 and subsequently pip version on a fresh install of Debian 9. I ran into a number of issues doing this so I though that I would put this quick post together to make this a little bit less complicated for anyone else trying to this.

This post relates specifically to python version 3.7.3. Although the generic commands should also apply to earlier versions, but your milage may vary.

The basic premise is, upgrade your version of python 3 to your desired version – 3.7.3 in this instance – then configure Debian to use python 3.7 at a higher priority to python 3.5.

Check your version
Step 1 is to check your current python version:

python3 -V


python3 --version

Download the latest or desired version of python 3
Next we need to download the latest version or desired version of python 3 from the python website. In my case I selected 3.7.3. Once downloaded we need to extract the tar file.

tar xf Python-3.7.3.tar.xz
cd ./Python-3.7.3 

Make and Install
Now that we have the files downloaded and extracted, it is time to compile them.

make install

Switch to the new version
After compile the new version of python from source, we can now configure Debian to make it our default version of python3.

update-alternatives --install /usr/bin/python python /usr/local/bin/python3.7 10

The integer at the end of this command (10) sets the priority for the python version; the greater the integer, the higher the priority. At this point we can rerun the previously used version commands and we should see that we now have 3.7.3 active.

Fixing and Updating Pip
It was at this point that I attempted to install some required addons using pip and discovered that the upgrade to python 3.7.3 had broken a few things. These were the commands I used to resolved issues with lsb_release and pip:

ln -s /usr/share/pyshared/ /usr/local/lib/python3.7/site-packages/

pip3 install --upgrade pip

Exitcode0 Tip Jar

If you have found this guide useful or it has solved a burning issue for you, please consider throw a coin in the tip jar to help this site stay active:

Some useful guides I found along the way:

Other Useful Debian tips: