Django Shell Нет модуля с именем settings

Я развернул Django на Apache через mod_wsgi . Django работает нормально при размещении на Apache. Однако я пытаюсь выполнить некоторое обслуживание через manage.py , но когда я пытаюсь запустить его, я получаю сообщение об ошибке:

Ошибка: не удалось импортировать настройки 'myproject.settings' (Is это в sys.path?): Нет модуля с именем settings

user@localhost:~$ cd /usr/local/myproject
user@localhost:/usr/local/myproject$ ls
drwxr-xr-x 2 apache apache   4096 2011-09-07 19:38 apache
-rw-r--r-- 1 apache apache      0 2011-05-25 14:52 __init__.py
-rw-r--r-- 1 apache apache    813 2011-09-09 16:56 manage.py
drwxr-xr-x 6 apache apache   4096 2011-09-09 16:43 myapp
-rw-r--r-- 1 apache apache   4992 2011-09-07 19:31 settings.py
drwxr-xr-x 4 apache apache   4096 2011-09-08 20:32 templates
-rw-r--r-- 1 apache apache   1210 2011-09-08 14:49 urls.py

Кажется, что Django игнорирует переменную окружения DJANGO_SETTINGS_MODULE.

user@localhost:~$ cd /usr/local/myproject
user@localhost:/usr/local/myproject$ export DJANGO_SETTINGS_MODULE=settings
user@localhost:/usr/local/myproject$ python manage.py shell
Error: Could not import settings 'myproject.settings' (Is it on sys.path?): No module named settings
user@localhost:/usr/local/myproject$ python
Python 2.6.5 (r265:79063, Apr 16 2010, 13:57:41) 
[GCC 4.4.3] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import settings
>>> 

Чтобы убедиться, что я не схожу с ума, я закомментировал все в manage.py, кроме строки import settings , и он работал правильно.

Я также пробовал установить os.environ ['DJANGO_SETTINGS_MODULE'] = 'settings' и sys.path.append ('/ usr / local / myproject') напрямую вверху manage.py, но безрезультатно.

Что здесь происходит? Почему Django использует неправильное имя модуля настроек? Это сводит меня с ума.

23
задан fifi finance 8 August 2016 в 22:58
поделиться

1 ответ

У меня был набор DJANGO_SETTINGS_MODULE к "mealer.settings"

(django-env)ali@a-N750JV:~/snap/projects-on-django/Rester$ export -p | grep DJANGO

declare -x DJANGO_SETTINGS_MODULE="mealer.settings"

, который я удалил

ali@ali-N750JV:~/snap/projects-on-django/Rester$ export -n  DJANGO_SETTINGS_MODULE

(django-env)ali@ali-N750JV:~/snap/projects-on-django/Rester$ export -p | grep DJAN

(django-env)ali@ali-N750JV:

, экспорт-p | grep DJAN ничего не нашел, как Вы видите

, этот ответ основан на ответе Paul Meinshausen

0
ответ дан 29 November 2019 в 01:11
поделиться
Другие вопросы по тегам:

Похожие вопросы: