I have both python3.6 and python3.5 on ubuntu (zesty beta 2). I know that python
calls python2.7. The problem is, when I call python3
, it automatically starts python3.5 instead of python3.6.
Is there a better way to fix this than an alias?
I have both python3.6 and python3.5 on ubuntu (zesty beta 2). I know that python
calls python2.7. The problem is, when I call python3
, it automatically starts python3.5 instead of python3.6.
Is there a better way to fix this than an alias?
Changing the default python3
version might break many things on your system, and I'd advise against making python3
point to python3.6
. Better to simply call python3.6
explicitly in those programs where it matters, and leave the python3
symlink as is.
As an alternative to aliases you can use update-alternatives
:
sudo update-alternatives --install /usr/bin/python3 python3 /usr/bin/python3.6 1
This command will create a link in: /usr/bin/python3
to /usr/bin/python3.6
.
I'm not sure if it's a good idea, maybe an update makes it broken.
An other options is creating a link to desired version of python in ~/bin
then adding this path to the $PATH environment variable:
export PATH=/home/$USER/bin:$PATH
Or within your .profile:
PATH=/home/$USER/bin:$PATH
Regarding your actual question (whether it's a good idea or not, I leave aside), you can check your /usr/bin/python3 version (in my case it was 3.4 ), and replace it with the new version:
$ python3 -V
Python 3.4.9
$ ls -lh /usr/bin/python3
lrwxrwxrwx. 1 root root 9 Dec 5 16:35 /usr/bin/python3 -> python3.4
$ sudo mv /usr/bin/python3 /usr/bin/_python3
$ sudo cp /usr/bin/python3.6 /usr/bin/python3
$ python3 -V
Python 3.6.6