У меня есть проект Python 3, который структурирован так:Невозможно импортировать модуль из двойников каталога
/project
__init__.py
/models
__init__.py
my_model.py
base_model.py
/tests
__init__.py
test.py
В test.py
я хочу импортировать my_model
. Моя первая попытка была from models import my_model
, которая бросила ImportError: No module named 'models'
. This question рекомендуется добавить файл __init__.py
в каждый каталог, что не помогло. Another post сказал, чтобы изменить путь с:
import sys; import os
sys.path.insert(0, os.path.abspath('..'))
но выдает ошибку, когда my_model
пытается импортировать из base_model
.
Это кажется очень простым, но я в тупике. У кого-нибудь есть идеи?
Я по-прежнему получаю тот же «ImportError», когда импортирую из 'project.models'. Я трижды проверил, что корневая папка имеет '__init __. Py' и все такое. – Rob
Имеет ли '' tests/'' '' __init __. Py''? Теперь я заметил, что в вашем списке отсутствует. – proycon
Хотя я не обещал не путаться с путями, родительский каталог вашего проекта должен находиться в '' $ PYTHONPATH'' (или '' sys.path.insert() '' it) – proycon