Таким образом, в файле обув я ввожу модули:Python: импортировать модуль, который импортирует модуль
import lib.helper_functions
import lib.config
И в helper_functions.py, у меня есть:
import config
Когда я бегу основной функция Foo Я получаю ImportError
EDIT: Вот структура файлов у меня есть
foo.py
lib/
config.py
helper_functions.py
Результаты ошибок от импорта конфигурации в helper_functions
Traceback (most recent call last):
File "C:\Python33\foo.py", line 1, in <module>
import lib.helper_functions
File "C:\Python33\lib\helper_functions.py", line 1, in <module>
import config
ImportError: No module named 'config'
Так вот: когда я бегу foo.py переводчика жалуется на импорт заявления helper_functions. Однако, когда я запускаю главную функцию helper_functions, такой ошибки не возникает.
Вам необходимо импортировать модули в каждый другой файл, который их использует; каждый модуль получает свое собственное пространство имен и не наследует имена в импортируемых им файлах (если вы не используете синтаксис 'from foo import *', который следует избегать, поскольку это приводит к ужасным, трудно диагностированным ошибкам) – geoffspear
Если вы «Я говорю, что мне нужно импортировать конфиг в foo, я уже делаю это (конечно, в foo я должен ссылаться на него как на lib.config). Это не помогает с NameError. –
Я не вижу * NameError * в вашей трассе. Я вижу «ImportError», это очень * отличная * ошибка. –