I was trying to set default python version to python3
in Ubuntu 16.04
. By default it is python2
[2.7]. I followed below steps :
update-alternatives --remove python /usr/bin/python2
update-alternatives --install /usr/bin/python python /usr/bin/python3
but I'm getting the following error for the second statement,
rejeesh@rejeesh-Vostro-1015:~$ update-alternatives --install /usr/bin/python python /usr/bin/python3
update-alternatives: --install needs
Use 'update-alternatives --help' for program usage information.
SuperStormer
4,7495 gold badges20 silver badges32 bronze badges
asked Feb 1, 2017 at 17:57
RejeeshChandranRejeeshChandran
3,9783 gold badges22 silver badges32 bronze badges
8
The second line mentioned can be changed to
[sudo] update-alternatives --install /usr/bin/python python /usr/bin/python3 10
This gives a priority of 10 for the path of python3
.
The disadvantage of alternatively editing .bashrc
is that using the commands with sudo
will not work.
Nico Schlömer
48.6k24 gold badges186 silver badges223 bronze badges
answered May 14, 2018 at 13:10
10
EDIT:
I wrote this when I was young and naive, update-alternatives
is the better way to do this. See @Pardhu's answer.
Outdated answer:
Open your .bashrc file
nano ~/.bashrc
. Typealias python=python3
on to a new line at the top of the file then save the file with ctrl+o and close the file with ctrl+x. Then, back at your command line typesource ~/.bashrc
. Now your alias should be permanent.
Nico Schlömer
48.6k24 gold badges186 silver badges223 bronze badges
answered Feb 1, 2017 at 18:17
SteampunkerySteampunkery
3,8112 gold badges19 silver badges28 bronze badges
8
To change Python 3.6.8 as the default in Ubuntu 18.04 to Python 3.7.
Install Python 3.7
Steps to install Python3.7 and configure it as the default interpreter.
Install the python3.7 package using apt-get
sudo apt-get install python3.7
Add Python3.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
Update Python 3 to point to Python 3.7
sudo update-alternatives --config python3
Enter 2 for Python 3.7Test the version of python
python3 --version
Python 3.7.1
Alvin Sartor
1,9473 gold badges20 silver badges34 bronze badges
answered Aug 24, 2019 at 23:03
5
If you have Ubuntu 20.04 LTS [Focal Fossa] you can install python-is-python3
:
sudo apt install python-is-python3
which replaces the symlink in /usr/bin/python
to point to /usr/bin/python3
.
answered May 18, 2020 at 20:12
silviotsilviot
4,3854 gold badges37 silver badges50 bronze badges
3
To change to python3, you can use the following command in terminal alias python=python3
.
answered Feb 1, 2017 at 18:00
DanteVoronoiDanteVoronoi
1,0731 gold badge12 silver badges20 bronze badges
2
A simple safe way would be to use an alias. Place this into ~/.bashrc file: if you have gedit editor use
gedit ~/.bashrc
to go into the bashrc file and then at the top of the bashrc file make the following change.
alias python=python3
After adding the above in the file. run the below command
source ~/.bash_aliases or source ~/.bashrc
example:
$ python --version
Python 2.7.6
$ python3 --version
Python 3.4.3
$ alias python=python3
$ python --version
Python 3.4.3
answered Feb 9, 2018 at 10:32
KhanKhan
1,1849 silver badges11 bronze badges
0
Update:
Since Ubuntu 20.04, the python3 is the default version, but still, python is not registered as python3 by default. In order to make that
happen, you can simply do :
sudo apt install python-is-python3
For more information you can check this out.
Old way:
Do
cd ~
gedit .bash_aliases
then write either
alias python=python3
or
alias python='/usr/bin/python3'
Save the file, close the terminal and open it again.
You should be fine now!
Link
answered Sep 15, 2017 at 18:34
HosseinHossein
22.5k32 gold badges117 silver badges210 bronze badges
0
Just follow these steps to help change the default python to the newly upgrade python version. Worked well for me.
sudo apt-install python3.7
Install the latest version of python you wantcd /usr/bin
Enter the root directory where python is installedsudo unlink python
orsudo unlink python3
. Unlink the current default pythonsudo ln -sv /usr/bin/python3.7 python
Link the new downloaded python versionpython --version
Check the new python version and you're good to go
answered Dec 30, 2019 at 9:19
At First Install python3 and pip3
sudo apt-get install python3 python3-pip
then in your terminal run
alias python=python3
Check the version of python in your machine.
python --version
answered Nov 25, 2019 at 18:32
As an added extra, you can add an alias for pip as well [in .bashrc or bash_aliases]:
alias pip='pip3'
You many find that a clean install of python3 actually points to python3.x so you may need:
alias pip='pip3.6'
alias python='python3.6'
answered Mar 28, 2018 at 14:28
ParaicParaic
1371 silver badge6 bronze badges
This is a simple way that works for me.
sudo ln -s /usr/bin/python3 /usr/bin/python
You could change /usr/bin/python3
for your path to python3 [or the version you want].
But keep in mind that update-alternatives
is probably the best choice.
answered Jan 15, 2021 at 14:18
cbcramcbcram
1672 silver badges5 bronze badges
As it says, update-alternatives --install
needs and arguments.
You have link [/usr/bin/python
], name [python
], and path [/usr/bin/python3
], you're missing priority.
update-alternatives --help
says:
is an integer; options with higher numbers have higher priority in automatic mode.
So just put a 100
or something at the end
answered Feb 1, 2017 at 19:30
get python path from
ls /usr/bin/python*
then set your python version
alias python="/usr/bin/python3"
answered Oct 16, 2018 at 4:26
To change Python 3.6.8 as the default in Ubuntu 18.04 from Python 2.7 you can try the command line tool update-alternatives
.
sudo update-alternatives --config python
If you get the error "no alternatives for python" then set up an alternative yourself with the following command:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 2
Change the path /usr/bin/python3
to your
desired python version accordingly.
The last argument specified it priority means, if no manual alternative selection is made the alternative with the highest priority number will be set. In our case we have set a priority 2 for /usr/bin/python3.6.8
and as a result the /usr/bin/python3.6.8
was set as default python version automatically by update-alternatives command.
we can anytime switch between the above listed python alternative versions using below command and entering a selection number:
update-alternatives --config python
answered Jun 27, 2020 at 12:24
For another non-invasive, current-user only approach:
# First, make $HOME/bin, which will be automatically added to user's PATH
mkdir -p ~/bin
# make link actual python binaries
ln -s $[which python3] python
ln -s $[which pip3] pip
python
pip
will be ready in a new shell.
answered Mar 22, 2019 at 8:52
tdihptdihp
2,2692 gold badges21 silver badges40 bronze badges
Simply remove python-is-python2
:
sudo apt purge python-is-python2
And install python-is-python3
:
sudo apt install python-is-python3
It will automate the process of transition to new python3. Optionally you can get rid of remaining packages later:
sudo apt autoremove && sudo apt autoclean
answered May 25, 2020 at 8:22
0
Set priority for default python in Linux terminal by adding this:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 10
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 1
Here, we set python3
to have priority 10 and python2
to priority 1. This will make python3
the default python. If you want Python2 as default then make a priority of python2 higher then python3
answered Nov 6, 2020 at 4:52
sudo rm /usr/bin/python3 #remove existing link
sudo ln /usr/bin/python3.8 /usr/bin/python3 # create a new link to the version of your choice
answered Oct 1, 2021 at 9:11
1
~$ sudo apt-get install python3.9
/usr/bin$ cd /usr/bin
/usr/bin$ sudo unlink python3
/usr/bin$ sudo ln -sv /usr/bin/python3.9 python3
/usr/bin$ python3 --version
Python 3.9.5
/usr/bin$ pip3 --version
pip 20.0.2 from /usr/lib/python3/dist-packages/pip [python 3.9]
answered Jan 3 at 3:46
devpdevp
1,9912 gold badges13 silver badges23 bronze badges
The best way in ubuntu 18.04 which will work for all users is
sudo vim /etc/bash.bashrc
add lines
alias python=python3
alias pip=pip3
Save the changes and restart .
After restart what ever version of python 3 you have in the system along with python 2.7 will be taken as default. You could be more specific by saying the following in alias if you have multiple version of python 3.
sudo vim /etc/bash.bashrc
add lines
alias python=python3.6
alias pip=pip3.6
answered Mar 22, 2019 at 10:12
Mian Asbat AhmadMian Asbat Ahmad
3,02810 gold badges39 silver badges66 bronze badges
You didn't include the priority argument
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 5
You can replace 5 with any priority you want. A higher priority alternative takes precedence over lower priority.
answered Sep 2, 2020 at 12:26
If there is a possibility to use particular python version directly, I would go for it compared to update-alternatives
and alias
solution.
Ex.
python3.6 -m pip install pytest
ptyhon3.6 -m pytest test_sample.py
-m
executes particular module for that particular python
version. The first line will install pytest for for that particular version and user in possible location /home/user/.local/lib/python3.5/site-packages
answered Dec 15, 2021 at 1:21
JanPoJanPo
1451 silver badge7 bronze badges
in my case it happened when i run this command in my terminal " alias python=python3 "
answered May 29, 2021 at 3:11
At first, Make sure Python3 is installed on your computer
Go to your terminal and type:
cd ~/
to go to your home directory
If you didn't set up your .bash_profile
yet, type touch .bash_profile
to create your .bash_profile.
Or, type open -e .bash_profile
to edit the file.
Copy and save alias python=python3
in the .bash_profile.
Close and reopen your Terminal. Then type the following command to check if Python3 is your default version now:
python --version
You should see python 3.x.y is your default version.
Cheers!
answered Sep 21, 2019 at 19:13
1