Когда вы пытаетесь импортировать модуль 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
находится в текущем каталоге. Каким будет элегантный способ сделать это?