Джанго 1.5b1: выполнение django-admin.py вызывает ошибку "нет модуля с именем settings"
недавно я установил Django-1.5b1. Моя конфигурация системы:
- OSX 10.8
- Python 2.7.1
- Virtualenv 1.7.2
когда я звоню django-admin.py команда я получаю следующую ошибку
(devel)ninja Django-1.5b1: django-admin.py
Usage: django-admin.py subcommand [options] [args]
Options:
-v VERBOSITY, --verbosity=VERBOSITY
Verbosity level; 0=minimal output, 1=normal output,
2=verbose output, 3=very verbose output
--settings=SETTINGS The Python path to a settings module, e.g.
"myproject.settings.main". If this isn't provided, the
DJANGO_SETTINGS_MODULE environment variable will be
used.
--pythonpath=PYTHONPATH
A directory to add to the Python path, e.g.
"/home/djangoprojects/myproject".
--traceback Print traceback on exception
--version show program's version number and exit
-h, --help show this help message and exit
Traceback (most recent call last):
File "/Users/sultan/.virtualenvs/devel/bin/django-admin.py", line 5, in <module>
management.execute_from_command_line()
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 452, in execute_from_command_line
utility.execute()
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 375, in execute
sys.stdout.write(self.main_help_text() + 'n')
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 241, in main_help_text
for name, app in six.iteritems(get_commands()):
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/core/management/__init__.py", line 108, in get_commands
apps = settings.INSTALLED_APPS
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/conf/__init__.py", line 52, in __getattr__
self._setup(name)
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/conf/__init__.py", line 47, in _setup
self._wrapped = Settings(settings_module)
File "/Users/sultan/.virtualenvs/devel/lib/python2.7/site-packages/django/conf/__init__.py", line 132, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'settings' (Is it on sys.path?): No module named settings
у кого-нибудь были те же ошибки? Может ли кто-нибудь посоветовать или помочь?
спасибо,
Султан
6 ответов
у меня была такая же проблема при запуске нового проекта. Я решил проблему, дав эту команду в командной строке:
export DJANGO_SETTINGS_MODULE=
таким образом, я отключаю переменную, которая указывала на"settings
файл" (обнаружен с помощью env | grep DJANGO_SETTINGS_MODULE
) Я установил перед началом использования виртуальное окружение
после сброса переменной django-admin.py
скрипт работал как шарм!
у меня была та же проблема, что и у вас, и я не придумал хорошего решения, кроме добавления моей папки проекта в PYTHONPATH следующим образом:
export PYTHONPATH="/absolute/path/to/django/project/folder:$PYTHONPATH"
где мой <project>
находится в /absolute/path/to/django/project/folder/<project>
. Добавлю, что до конца env/bin/activate
скрипт так происходит каждый раз, когда я инициализирую virtualenv.
единственное различие между двумя ситуациями заключается в том, что я использую несколько файлов настроек вместо одного settings.py
модуль.
вы можете также называют django-admin.py
из папки, содержащей ваш проект Django, например:
python ~/.virtualenvs/devel/bin/django-admin.py <command>
чтобы он распознал ваш текущий рабочий каталог как часть пути.
надеюсь, что это имеет смысл. Это довольно неуклюже объяснять, что затрудняет поиск ответа.
возможно, ваша проблема связана с этим: неверный путь python в заголовке скрипта
Если вы хотите сделать что-нибудь, кроме создания нового проекта django внутри вашего venv, вы должны позвонить python manage.py
(конечно, whereis python
должен вернуть ваш исполняемый файл venv)
Не запускайте скрипт из прямого пути в библиотеку django; запустите его из любого другого пути. Кажется, ты cd
в каталог, где установлен django (или где вы загрузили и расширили его), а затем запустили команду оттуда.
Так что попробуйте это:
(devel)ninja Django-1.5b1: cd
(devel)ninja: django-admin.py startproject foo
вы уверены, что запускаете Django-admin из установки virtualenv django ? Возможно path/to/virtualenv/bin/django-admin.py
для легкого решения вы можете попробовать
python. \Scripts\django-admin.py startproject имяпроекта
после этого запустить