Dev.to version of this article may not be the up-to-date one. You can visit originally published resource: tech.serhatteker.com to see the most recent version.
Disclaimer
WARNING
Edited: 2020-12-28 16:53:45 UTCInstead of using below method please consider adding a new/multi python version on your system. According the python version you want, look at one of the articles below:
Since below method may cause system error: probably break apt or misconfiguration of the system.
Intro
In this article, we upgrade to python 3.7
from python 3.6
and configure it as the default version of python.
I was just trying to upgrade my python and I find it a little bit hard to do. Python 3.6
is the default version that comes with Ubuntu 18.04/18.10 But the latest version is Python 3.8. So it would be better to upgrade one major version.
So lets start:
Step 0: Check the current python version
Run below command to test the current version installed of python.
$ python3 --version
Output will be like:
python 3.6.8
Step 1: Install python3.7
Install python by typing:
$ sudo apt update -y
$ sudo apt install python3.7
Step 2: Add python 3.6 & python 3.7 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.7 2
Step 3: Update python 3 to point to python 3.7
By default, Python 3.6
is pointed to Python 3
. That means when we run python3
it will execute as python3.6
binary but we want to execute this as python3.7
.
Type this command to configure python3:
$ sudo update-alternatives --config python3
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 2 auto mode
1 /usr/bin/python3.6 1 manual mode
2 /usr/bin/python3.7 2 manual mode
Press <enter> to keep the current choice[*], or type selection number:
You should get the above output. Now type 2 and hit enter for Python 3.7
. Remember the selection number may differ so choose the selection number which is for Python 3.7
.
Alternative update python 3 to point to python3.7
/usr/bin/python3
is just a symlink
. Delete it and make a new symlink
to
python3.7
:
$ sudo rm /usr/bin/python3
$ sudo ln -s python3.7 /usr/bin/python3
Step 4: Test the new version of python3
$ python3 -V
All done!
Changelog
- 2020-03-10 : Add disclaimer and warning
- 2020-12-28 : Add newer alternative python versions
Oldest comments (20)
Clean, easy, 5/5.
Thank you.
This breaks
apt-get upgrade
(and other things) because Ubuntu 18.04 wants Python 3.6 to be the system python. Have you come across this problem?yes, how did you solve, could you share because i have problems with apt_
I upgraded to Ubuntu 20.04. :-P
update-alternatives --set python3 /usr/bin/python3.6
Sorry to hear that. This was an outdated version of this article. I updated this one as well now.
Also as I mentioned now in the beginning of article you can follow up-to-date version of this article on: tech.serhatteker.com.
Life Saver 5/5
Thank you 😄
this was a HUGE help...thank you!
Thanks!
This works, however, after I close the terminal, I can't open it again.
To get it back I have to do:
sudo ln -sf /usr/bin/python3.6 /usr/bin/python3
in the xterm terminal.
Thank you!
Thanks. It's clear and useful :).
It works! Thanks!
Nice! thxs
You forgot a second step -- maybe related to some crashes from some comments.
Notice that you have
python*-config
files in there too:. AFAIU one should also apply a switch to
python3-config
.In Step-2, I would recommend also doing:
, and set accordingly (as explained in the article), but now for
python3-config
:Hope that is right and to complement the nice article.
/.\
thanks man
Not work for me!!!
Thanks for the information cookie clicker 2