Если это проблема пути, вы должны использовать аргумент level
(из docs ):
__import__(name, globals={}, locals={}, fromlist=[], level=-1) -> module
Level is used to determine whether to perform
absolute or relative imports. -1 is the original strategy of attempting
both absolute and relative imports, 0 is absolute, a positive number
is the number of parent directories to search relative to the current module.
__ import __
- внутренняя функция, вызываемая оператором импорта. В повседневном кодировании вам не нужно (или не нужно) вызывать __ import __
из документации Python:
Например, инструкция import spam
приводит к получению байт-кода, напоминающего следующий код:
spam = __import__('spam', globals(), locals(), [], -1)
С другой стороны, оператор из spam.ham импортирует яйца, сосиска как сосиска
приводит к
_temp = __import__('spam.ham', globals(), locals(), ['eggs', 'sausage'], -1)
eggs = _temp.eggs
saus = _temp.sausage
дополнительной информации: http://docs.python.org/library/functions.html
Вы можете попробовать следующее:
messages == __import__('Foo.messages_en', fromlist=['messages_en'])
Обязательно добавьте каталог modules к вашему пути python.
Ваш путь (список каталогов, по которым Python ищет модули и файлы) хранится в атрибуте path модуля sys. Поскольку путь представляет собой список, вы можете использовать метод append для добавления новых каталогов в путь.
Например, чтобы добавить каталог /home/me/mypy в путь:
import sys
sys.path.append("/home/me/mypy")