Когда вы пытаетесь импортировать модуль foo во время нахождения в исходном каталоге, появляется довольно запутанное сообщение ImportError: ImportError: No module named foo.
Как я могу легко поймать этот случай и вернуть более информативное сообщение, например. "Пожалуйста, не загружайте модуль foo из исходного каталога"?
Имея __init__.py, я бы начал с:
try:
from _foo import *
except ImportError:
## check whether in the source directory...
Поэтому я хотел бы различать разные причины для ImportError (например, потому что модуль с именем foo вообще не установлен) и определить случай, когда setup.py находится в текущем каталоге. Каким будет элегантный способ сделать это?