Python не может найти локальный модуль
У меня есть такая структура папок:
setup.py
core/
__init__.py
interpreter.py
tests/
__init__.py
test_ingest.py
Если я попытаюсь импортировать core
в test_ingest.py
и запустить его, я получу ImportError
, говорящее, что модуль core
не может быть найден. Однако я могу импортировать core
в setup.py
без проблем. Моя IDE не волнуется, так почему же происходит эта ошибка?
1 ответ:
Когда вы
import
Ваш пакет, Python ищет каталоги наsys.path
, пока не найдет один из них: файл с именем "core.py", или каталог под названием "core", содержащий файл с именем__init__.py
. Затем Python импортирует ваш пакет.Вы можете успешно
import core
изsetup.py
, потому что путь к каталогуcore
находится вsys.path
. Вы можете увидеть это сами, запустив этот фрагмент из вашего файла:import sys for line in sys.path: print line
Если вы хотите импортировать
core
из a другой файл в структуре папок, вы можете добавить путь к каталогу, гдеcore
находится вsys.path
в вашем файле:import sys sys.path.append("/path/to/your/module")