This quick tutorial is going to show you how to install the latest Python 3.6.1 in Ubuntu 16.04 LTS via PPA.
Ubuntu 16.04 comes with both Python 2.7 and Python 3.5 by default. You can install Python 3.6 along with them via a third-party PPA by doing following steps:
1. Open terminal via Ctrl+Alt+T or searching for “Terminal” from app launcher. When it opens, run command to add the PPA:
sudo add-apt-repository ppa:jonathonf/python-3.6
Type in your password (no visual feedback due to security reason) when it asks and hit Enter.
2. Then check updates and install Python 3.6 via commands:
sudo apt-get update sudo apt-get install python3.6
Now you have three Python versions, use python
command for version 2.7, python3
for version 3.5, and/or python3.6
for version 3.6.1.
3. To make python3
use the new installed python 3.6 instead of the default 3.5 release, run following 2 commands:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.5 1 sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 2
Finally switch between the two python versions for python3
via command:
sudo update-alternatives --config python3
After selecting version 3.6:
python3 -V
UPDATE: due to this bug, gnome-terminal won’t launch after step 3, a workaround is running following commands to recreate the symlink:
sudo rm /usr/bin/python3 sudo ln -s python3.5 /usr/bin/python3
Hi, thanks for the detailed post. However after following the instructions, this issue pop up:
https://askubuntu.com/questions/880188/gnome-terminal-will-not-start/880191?newreg=0bb3f823f56349389c0fac3d7c4fa5a7
(terminal wouldn’t start, ImportError: cannot import name ‘_gi’)
Is there a fix for this?
https://askubuntu.com/questions/880188/gnome-terminal-will-not-start
using pyenv seems to work perfectly and gnome terminal works just fine
I tried it and it works fine, but I was not able to correctly install python3-dev module, which then prevents to install some other modules.
try installing from source. apt prevents conflicting applications to be installed.
Hello sir, thank you very much.
After following above procedures i went to install my own selection as follows:
apt-get install python3.6 idle-python3.6 python3.6-doc python3.6-examples libpython3.6 libpython3.6-stdlib python-clang-3.6 python-lldb-3.6 libpython3.6-dbg python3.6-venv
no error after the above command above.
Linux ubuntu-net 4.4.0-93-generic #116-Ubuntu SMP Fri Aug 11 21:17:51 UTC 2017 x86_64 x86_64 x86_64 GNU/Linux
to make python3.6 as the default, remove the rest of pythons and create a soft link to the python3.6:
ls /usr/bin/python*
/usr/bin/python /usr/bin/python2.7 /usr/bin/python3.5 /usr/bin/python3.6 /usr/bin/python3m
/usr/bin/python2 /usr/bin/python3 /usr/bin/python3.5m /usr/bin/python3.6m
rm /usr/bin/python
ln -s /usr/bin/python3.6 /usr/bin/python
ln -s /usr/bin/python3.6m /usr/bin/pythonm
python
Python 3.6.2 (default, Jul 20 2017, 08:43:29)
[GCC 5.4.1 20170519] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
>>>
THANKS FOR THE HELP…!
thankU.
Hi, Thank you. Single point of knowledge for all what is required in relevance of basic python installation.
THANKS it helped me a lot.
Rasheed from Ghana,Africa
hello sir my terminal is not working what should i do
what error E: Could not get lock /var/lib/dpkg/lock – open (11: Resource temporarily unavailable)
E: Unable to lock the administration directory (/var/lib/dpkg/), is another process using it?
what is problem
It works perfectly.Very helpful.
After changing python default to python3.6 … Now I am not able to launch Terminal … What to do ? … please help anyone
Reply anyone …. My Terminal , Startup Disc Creator etc are not being launched … Help me..
It’s a bug. A workaround is available in the end of the tutorial.
After fixing bug as you have given the workaround, then python runs in the default version of 2.7.12 itself. Although i have installed the version 3.6.3 and even selected the same version manually.
Excellent post and tuto.
Thanks a lot.
I have now 3 version of Python working on my Ubuntu 16.04LTS x64.
Excellent instructions. Python 3.6.3 is running on my Linux Mint 18.3 as Python3.
hello sir,thanks for the post.However after following all the steps including the update step,i am getting below error for command python3 -v
# /usr/lib/python3.5/__pycache__/_collections_abc.cpython-35.pyc matches /usr/lib/python3.5/_collections_abc.py
# code object from ‘/usr/lib/python3.5/__pycache__/_collections_abc.cpython-35.pyc’
import ‘_collections_abc’ #
import ‘os’ #
# /usr/lib/python3.5/__pycache__/_sitebuiltins.cpython-35.pyc matches /usr/lib/python3.5/_sitebuiltins.py
# code object from ‘/usr/lib/python3.5/__pycache__/_sitebuiltins.cpython-35.pyc’
import ‘_sitebuiltins’ #
# /usr/lib/python3.5/__pycache__/sysconfig.cpython-35.pyc matches /usr/lib/python3.5/sysconfig.py
# code object from ‘/usr/lib/python3.5/__pycache__/sysconfig.cpython-35.pyc’
import ‘sysconfig’ #
# /usr/lib/python3.5/__pycache__/_sysconfigdata.cpython-35.pyc matches /usr/lib/python3.5/_sysconfigdata.py
# code object from ‘/usr/lib/python3.5/__pycache__/_sysconfigdata.cpython-35.pyc’
# /usr/lib/python3.5/plat-x86_64-linux-gnu/__pycache__/_sysconfigdata_m.cpython-35.pyc matches /usr/lib/python3.5/plat-x86_64-linux-gnu/_sysconfigdata_m.py
# code object from ‘/usr/lib/python3.5/plat-x86_64-linux-gnu/__pycache__/_sysconfigdata_m.cpython-35.pyc’
import ‘_sysconfigdata_m’ #
import ‘_sysconfigdata’ #
# /usr/lib/python3.5/__pycache__/sitecustomize.cpython-35.pyc matches /usr/lib/python3.5/sitecustomize.py
# code object from ‘/usr/lib/python3.5/__pycache__/sitecustomize.cpython-35.pyc’
# /usr/lib/python3/dist-packages/__pycache__/apport_python_hook.cpython-35.pyc matches /usr/lib/python3/dist-packages/apport_python_hook.py
# code object from ‘/usr/lib/python3/dist-packages/__pycache__/apport_python_hook.cpython-35.pyc’
import ‘apport_python_hook’ #
import ‘sitecustomize’ #
import ‘site’ #
Python 3.5.2 (default, Nov 23 2017, 16:37:01)
[GCC 5.4.0 20160609] on linux
Type “help”, “copyright”, “credits” or “license” for more information.
# extension module ‘readline’ loaded from ‘/usr/lib/python3.5/lib-dynload/readline.cpython-35m-x86_64-linux-gnu.so’
# extension module ‘readline’ executed from ‘/usr/lib/python3.5/lib-dynload/readline.cpython-35m-x86_64-linux-gnu.so’
import ‘readline’ #
import ‘atexit’ #
# /usr/lib/python3.5/__pycache__/rlcompleter.cpython-35.pyc matches /usr/lib/python3.5/rlcompleter.py
# code object from ‘/usr/lib/python3.5/__pycache__/rlcompleter.cpython-35.pyc’
import ‘rlcompleter’ #
>>>
please tell me the fix for it..thanks again
try
python3 -V
notice the V is CAPTITAL
Hi, But after follwing your all step ,even i can’t open My Terminallllll
This works perfectly in Ubuntu 16.04. Thanks
Ji M- you are the man! God bless you for your selflessness!
thanks. It’s really helpful.
but after this post terminal not open but after chng usr/bin/gnome-terminal python3.6 to python3 that terminal working fine.
thank you again.