Я искал глубоко и широко, но пока ни одно решение не сработало. Я пытаюсь это с Django 1.6 в моей виртуальной среде. В моем файле manage.py
есть следующая строка:
os.environ.setdefault("DJANGO_SETTINGS_MODULE", "myproj.settings")
При этом при выполнении python ./manage.py runserver
я получаю трассировку:
Traceback (most recent call last):
File "./manage.py", line 9, in <module>
execute_from_command_line(sys.argv)
File "/home/int/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 453, in execute_from_command_line
utility.execute()
File "/home/int/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 392, in execute
self.fetch_command(subcommand).run_from_argv(self.argv)
File "/home/int/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 263, in fetch_command
app_name = get_commands()[subcommand]
File "/home/int/.local/lib/python2.7/site-packages/django/core/management/__init__.py", line 109, in get_commands
apps = settings.INSTALLED_APPS
File "/home/int/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 53, in __getattr__
self._setup(name)
File "/home/int/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 48, in _setup
self._wrapped = Settings(settings_module)
File "/home/int/.local/lib/python2.7/site-packages/django/conf/__init__.py", line 134, in __init__
raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))
ImportError: Could not import settings 'myproj.settings' (Is it on sys.path?): cannot import name current_app
Затем я добавил
sys.path.insert(0, '/home/int/Documents/myproj/myproj')
, где модули
для моего manage.py
файла и получили ту же обратную трассировку, что и выше.
Если я попытаюсь сделать относительный импорт, т.е. изменить эту строку в manage.py
to
os.environ.setdefault("DJANGO_SETTINGS_MODULE", ".myproj.settings")
Я получаю ошибку
TypeError: relative imports require the 'package' argument
Файл settings.py
определенно находится в /home/int/Documents/myproj/myproj
(проверен трижды). Так что я не знаю, как решить эту, казалось бы, простую проблему. Буду признателен за помощь.