Python2.7 not working in 18.04, python3 is installed
Solution 1
Python 2 is no longer installed by default in fresh installations of Ubuntu 18.04 and later. Don't remove python3 from Ubuntu 18.04 and later or else Ubuntu Software, the terminal and many other apps that are installed by default will stop working. If you removed Python 3 and now Ubuntu Software, terminal and other applications don't work follow the instructions in this answer to reinstall it and get all applications working again.
To install Python 2.7 in Ubuntu 18.04 and later open the terminal and type:
sudo apt install python2.7
To start the Python 2.7 interpreter run this command:
python2.7
To start the Python 3 interpreter run this command:
python3
Either way the Python interpreter will show a version message when it is started that shows what version of Python you are running.
Solution 2
In Ubuntu 18.04 LTS both Python 2.7, and Python 3 are installed by default:
In 18.10. and in 19.04 it will not be installed in a live session:
You will have to intall Python 2.7 manually before you can use it.
sudo apt install python
Applications depending on it will install it as a dependency.
Solution 3
1) To install Python 2 version on Ubuntu 18.04 open up terminal and enter:
sudo apt install python-minimal
or
sudo apt install python2.7
Check version:
python --version
2) If still python 3+ updated list of Python alternatives to perform a switch between any python version is to run:
update-alternatives --config python
Example:
There are 2 choices for the alternative python (providing /usr/bin/python).
Selection Path Priority Status
------------------------------------------------------------
* 0 /usr/bin/python3.5 2 auto mode
1 /usr/bin/python2.7 1 manual mode
2 /usr/bin/python3.5 2 manual mode
Press <enter> to keep the current choice[*], or type selection number: 1
update-alternatives: using /usr/bin/python2.7 to provide /usr/bin/python (python) in manual mode
and select an appropriate version using selction integer as shown above.
3) If you see: update-alternatives: error: no alternatives for python. Run:
ls /usr/bin/python*
Example output:
/usr/bin/python /usr/bin/python2 /usr/bin/python2.7 /usr/bin/python3 /usr/bin/python3.5
Next, update the Python alternatives list for each version you whish to use with priority 1 and 2:
update-alternatives --install /usr/bin/python python /usr/bin/python3.5 1
update-alternatives --install /usr/bin/python python /usr/bin/python2.7 2
Then run again update-alternatives --config python
and select an appropriate version..
Solution 4
You don't need to remove or disable python3
on your Ubuntu.
If you just need python to run small scripts, you can simply install Python 2 as @karel's answer.
If you start learning Python, I suggest you to use virtual environment or conda
Solution 5
No need to disable python 3. You can execute python 2.7 using command
python2 filename.py.
You can check python 2 versions by
python2 --version
Related videos on Youtube
![Rahul](https://lh4.googleusercontent.com/-dl-zt68vw2s/AAAAAAAAAAI/AAAAAAAAAAA/AAN31DWF4hhaHDkr5V2Ap7IoDI5RErjWTg/mo/photo.jpg?sz=256)
Rahul
Updated on September 18, 2022Comments
-
Rahul almost 2 years
I have installed ubuntu 18.04 in virtual box and when trying python -v, it says you have python3 installed, I want to remove python 3 or disable so that can use python2.7 and run some scripts i have.
-
Takkat over 5 years@karel: thanks for the info. I checked again with a live system and found that it is also not installed in 18.10.
-
WinEunuuchs2Unix over 5 years@karel Thank you. Close vote retracted and previous comments redacted :) +1 for your answer as well :)
-
Kevin over 5 yearsFYI: Python 2 will lose upstream support in a little over a year, so you should make plans to either fork Python or migrate to Python 3 soon.
-
trolley813 over 5 years@Rahul Use
python2
orpython3
instead of justpython
, because in some systems (Arch for example)python
without version runs Python 3 by default (I think Ubuntu will do the same at some point). Agreeing with Kevin, you should migrate to 3.x (as of late 2018, there are only a few 2.x-only libraries) -
Ikar Pohorský about 5 yearsFun part here is that some older ubuntu 18.04 still have python symlinked to python2.7 (after installing it) but now ubuntu 18.04.02 doesn't create this symlink. That sounds just weird when you realize 18.04 is LTS...
-
-
Rahul over 5 yearsyes got it now, installed python2.7 and checked whereis python2.7 and made script using that env.. Thanks
-
Rahul over 5 yearsCould you please clarify what exactly is last two commands are doing here, One more question is i changed in my script from #!/usr/bin/python to #!/usr/bin/python2.7. Is it possible to change the env path for python2.7 to /usr/bin/python
-
Kulfy over 5 years@Rahul When you use
python
as a command on terminal the alternatives/aliases are considered. But in scripts as you are the absolute path of python so you need to use the path of python version you want to use. -
mature over 5 years@Rahul, sorry fixed. In this commands you set priority in last numeric params (2 and 1).
-
thangdc94 over 5 yearsUsually, I don't install package from
conda
, I install package bypip
. I just useconda
to create global access virtual env. -
Kris Bonev about 5 yearsI cannot upvote your answer enough. Legend!