DEV Community

Serhat Teker
Serhat Teker

Posted on • Originally published at tech.serhatteker.com on

How to Upgrade to Python 3.8 on Ubuntu

In this article, we upgrade to python 3.8 and configure it as the default version of python.

Out of the box default python version for Ubuntu 18.04/10 is python 3.6 and for Ubuntu 19.04/10 is Python 3.7. As now, Python 3.8.1 is the lastest stable version released on Dec 18, 2019. So it would be better to upgrade last major version.

My Ubuntu version is 18 LTS, however for 19.{04, 10} replace below all python3.6 with python3.7 and run so.

OK, lets start:

Step 0: Check the current python version

Rrun below command to test the current version installed of python.

$ python3 --version
Enter fullscreen mode Exit fullscreen mode

Output will be like:

python 3.6.8
Enter fullscreen mode Exit fullscreen mode

Step 1: Install python3.8

Install python by typing:

$ sudo apt update -y
$ sudo apt install python3.8
Enter fullscreen mode Exit fullscreen mode

Step 2: Add python 3.6 & python 3.8 to update-alternatives

$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
$ sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.8 2
Enter fullscreen mode Exit fullscreen mode

Step 3: Update python 3 to point to python 3.8

By default, Python 3.6 is pointed to Python 3. That means when we run python3 it will execute as python 3.6 binary but we want to execute this as python 3.8.

Type this command to configure python3:

$ sudo update-alternatives --config python3
Enter fullscreen mode Exit fullscreen mode
user@ubuntu1804:~$ sudo update-alternatives --config python3
There are 2 choices for the alternative python3 (providing /usr/bin/python3).

  Selection    Path                Priority   Status
------------------------------------------------------------
* 0            /usr/bin/python3.6   1         auto mode
  1            /usr/bin/python3.6   1         manual mode
  2            /usr/bin/python3.8   2         manual mode

Press <enter> to keep the current choice[*], or type selection number:
Enter fullscreen mode Exit fullscreen mode

You should get the above output. Now type 2 and hit enter for Python 3.8. Remember the selection number may differ so choose the selection number which is for Python 3.8.

Alternative update python 3 to point to python3.8

/usr/bin/python3 is just a symlink. Delete it and make a new symlink to python3.8:

$ sudo rm /usr/bin/python3
$ sudo ln -s python3.8 /usr/bin/python3
Enter fullscreen mode Exit fullscreen mode

Step 4: Test the new version of python3

$ python3 -V
python 3.8.0
Enter fullscreen mode Exit fullscreen mode

All done!

Top comments (2)

Collapse
 
ubuntupunk profile image
ubuntupunk

Thanks for this, I foolishly installed python 3.8 from ppa:deadsnakes/ppa on Ubuntu 20.02. Adding to update-alternatives was what was missing from the recipe. Breaks your system if you don't.

Collapse
 
serhatteker profile image
Serhat Teker

Yeah, seems I didn't update this article on dev.to, although the one on my site was updated: tech.serhatteker.com/post/2019-12/...

I'll update this one asap as well.