When one tries to import a module foo while being in the source directory, one gets an rather confusing ImportError message: ImportError: No module named foo.
How can I easily catch this case and return a more informative message, e.g. 'Please do not load module foo from the source directory'?
Having the __init__.py, I would start with:
try:
from _foo import *
except ImportError:
## check whether in the source directory...
So I would like to distinguish the different causes for an ImportError (e.g. because a module named foo is not installed at all), and detect the case in which the setup.py is located in the current directory. What would be a elegant way of doing this?