I've been using ipython, pandas and various other libraries in Ubuntu 16.04 for a very long time. I've recently upgraded to ubuntu 20.04 (Upgraded to 18.04 and then to 20.04 quickly).
In both 18.04 and 20.04, when I try to run ipython I get the following error:
Traceback (most recent call last):
File "/usr/local/bin/ipython3", line 6, in
from IPython import start_ipython
ModuleNotFoundError: No module named 'IPython'
ipython is in /usr/local/bin/ipython3. That inturn seems to have '#!/usr/bin/python3'.
Clearly /usr/bin/python3 is not seeing the ipython install.
Now in ubuntu 20.04 /usr/bin/python3 is python3.8. IIRC, In 16.04 it used to be python python3.5.
Originally ipython and various other modules were installed when I was in 16.04. So I am assuming these would have installed it into the python3.5... and the current python3 doesn't see them.
Questions:
Is my reasoning above correct?
Does this mean now in ubuntu 20.04 I should reinstall all modules I need afresh (so that they would go into python3.8)
If I have to reinstall modules, Is it safe to remove the earlier ipython or other modules that I had installed in 16.04? How would I know if some modules among these are used by the rest of the system
In general, a user in ubuntu when installing modules, should he do a 'sudo pip install' or just a 'pip install'.
Currently when I check /usr/bin/python*, there seems to be several installations:
/usr/bin/python2.7
/usr/bin/python3.5
/usr/bin/python3.5m
/usr/bin/python3.8
Are all these required by the system (i.e., ubuntu 20.04) or are some of these leftovers from ubuntu 16.04 that I can safely remove?