Странная ошибка импорта настроек в Django - PullRequest
8 голосов
/ 18 мая 2011

У меня есть много проектов, работающих в ubuntu с python2.7 и virtualenv / virtualenvwrapper, в моей работе некоторые разработчики работают с macosx и windows, обычно я создаю проект как обычно:

django-admin.py start project x

И мы используемSVN для CVS, но в какой-то момент, без ничего рационального для меня, когда я пытаюсь что-то вроде:

python manage.py runserver

не работает, но только для меня и находится в моем ноутбуке, это непроисходит на производственных серверах или у других разработчиков.

есть идеи?

Я получил эту ошибку:

Ошибка: не удается найти файл settings.pyв каталоге, содержащем manage.py.Похоже, вы настроили вещи.Вам нужно будет запустить django-admin.py, передав его вашему модулю настроек.(Если файл settings.py действительно существует, он каким-то образом вызывает ошибку ImportError.)

Но очевидно, что файл настроек существует и находится в той же папке файла manage.py, и неработа только для меня ...

Так же бывает с django и appengine

Ответы [ 3 ]

28 голосов
/ 18 мая 2011

Я получил эту ошибку:

Ошибка: не удается найти файл «settings.py» в каталоге, содержащем «manage.py».Похоже, вы настроили вещи.Вам нужно будет запустить django-admin.py, передав его вашему модулю настроек.(Если файл settings.py действительно существует, он каким-то образом вызывает ошибку ImportError.)

Сценарий manage.py выводит это предупреждение при возникновении ошибки импорта, поэтому, если ваш модуль settings.py импортирует данныеи , что вызывает ошибку импорта, manage.py будет по-прежнему печатать это предупреждение.

Одним из способов диагностики было бы (временно) изменить manage.py с

#!/usr/bin/env python
from django.core.management import execute_manager
try:
    import settings # Assumed to be in the same directory.
except ImportError:
    import sys
    sys.stderr.write("Error: Can't find the file 'settings.py' in the directory containing %r. It appears you've customized things.\nYou'll have to run django-admin.py, passing it your settings module.\n(If the file settings.py does indeed exist, it's causing an ImportError somehow.)\n" % __file__)
    sys.exit(1)

if __name__ == "__main__":
    execute_manager(settings)
*От 1017 * до
#!/usr/bin/env python
from django.core.management import execute_manager
import settings # Assumed to be in the same directory.

if __name__ == "__main__":
    execute_manager(settings)

и просмотрите трассировку стека, напечатанную при запуске $ python manage.py runserver.

3 голосов
/ 12 ноября 2012

Если вы получаете эту ошибку при попытке начать работу с django и appengine, следуя инструкциям на http://www.allbuttonspressed.com/projects/djangoappengine

, и вы создали символические ссылки на папки, руководство неверно при создании символической ссылки djangoappengine,Вам нужно перейти в 1 каталог, например

NOT:

Скопируйте следующие папки в ваш проект (например, django-testapp):

django-nonrel/django => <project>/django
djangotoolbox/djangotoolbox => <project>/djangotoolbox
django-autoload/autoload => <project>/autoload
django-dbindexer/dbindexer => <project>/dbindexer
djangoappengine => <project>/djangoappengine

ИСПРАВЛЕНО:

Скопируйте следующие папки в ваш проект (например, django-testapp):

django-nonrel/django => <project>/django
djangotoolbox/djangotoolbox => <project>/djangotoolbox
django-autoload/autoload => <project>/autoload
django-dbindexer/dbindexer => <project>/dbindexer
djangoappengine/djangoappengine => <project>/djangoappengine

Обратите внимание на последнюю строку.

1 голос
/ 09 ноября 2012

Я искал весь код Джанго в течение часа, пока не наткнулся на это:

manage.py [command] --traceback

Оказывается, в моем приложении произошла ошибка импорта. Как только я увидел ошибку, потребовалось десять секунд, чтобы исправить ее. : /

...