Не удается импортировать настройки в Django

Мне нужно протестировать приложение Django с помощью py.test. Следовательно, мне нужно указать py.test, который является модулем настроек Django. Команда, которую я использую для py.test: ~/GitHub/django-training$ py.test --ds=training.settings

К сожалению, я получаю эту ошибку: ERROR: Could not import settings 'training.settings' (Is it on sys.path?): No module named training.settings

Это выглядит очень странно, потому что моя структура папок выглядит так:

django-training
    training
        settings.py

и мой sys.path содержит запись /home/user/GitHub/django-training на первой позиции.

Теперь, почему я не могу использовать этот файл настроек?


person linkyndy    schedule 28.10.2013    source источник
comment
имеет training __init__.py?   -  person lalo    schedule 28.10.2013
comment
@lalo, конечно, training содержит файл __init__.py.   -  person linkyndy    schedule 28.10.2013
comment
Вы пытались вручную импортировать настройки?   -  person lalo    schedule 28.10.2013
comment
файл инициализации ... должен получить это в каталоге вашей папки?   -  person Glyn Jackson    schedule 28.10.2013
comment
Дайте нам структуру вашего проекта.   -  person Games Brainiac    schedule 28.10.2013
comment
если у django-training есть файл init, вы можете попробовать django-training.training.settings   -  person Alvaro    schedule 29.10.2013
comment
@lalo, да, я открываю интерпретатор Python по тому же пути, делаю from training import settings, и ошибки не возникает.   -  person linkyndy    schedule 29.10.2013
comment
@GlynJackson У меня есть файл __init__.py в папке проекта (training) и приложения. Итак, не в django-training, потому что Django не требует, чтобы он был там.   -  person linkyndy    schedule 29.10.2013
comment
@GamesBrainiac Я вставил базовую структуру своего проекта.   -  person linkyndy    schedule 29.10.2013


Ответы (1)


Учебный каталог, вероятно, действительно не находится в sys.path. Обычный подход состоит в том, чтобы запустить в virtualenv и запустить pip install -e . в каталоге django-training, предполагая, что у него есть файл setup.py. Но подойдут любые другие средства, которые подходят для вашего рабочего процесса разработки.

person flub    schedule 29.10.2013
comment
Вы были правы, это была проблема. Я указал training в пути, и теперь он находит файл настроек. Благодарю вас! - person linkyndy; 30.10.2013