Джанго новичок пытается заставить Treeio работать за Apache - PullRequest
1 голос
/ 20 декабря 2011

У меня, похоже, проблема, подобная этому парню: Вопрос развертывания новичка Django - ImportError: Невозможно импортировать настройки 'settings' , но я не могу понять, как это сделать.Сервер работает под управлением Debian.Приложение прекрасно работает на внутреннем сервере, однако при попытке использовать apache + mod_python я получаю следующую проблему.

  File "/usr/local/lib/python2.6/dist-packages/django/conf/__init__.py", line 89, in __init__
    raise ImportError("Could not import settings '%s' (Is it on sys.path?): %s" % (self.SETTINGS_MODULE, e))

ImportError: Could not import settings 'treeio.settings' (Is it on sys.path?): No module named treeio.settings
  1. Каталог проекта - / var / www / treeio
  2. Всефайлы имеют разрешение 777 (я проверял, были ли проблемы с разрешением)
  3. Содержимое httpd.conf

    <Location "/treeio/">
        SetHandler python-program
        PythonHandler django.core.handlers.modpython
        SetEnv DJANGO_SETTINGS_MODULE treeio.settings
        PythonOption django.root /treeio
        PythonDebug On
        PythonPath "['/var/www/treeio'] + sys.path"
    </Location>
    

Дополнительная информация:

echo $PYTHONPATH
:/var/www/treeio/..:/var/www/treeio

echo $DJANGO_SETTINGS_MODULE
treeio.settings

>>> import sys
>>> sys.path
['', '/usr/local/lib/python2.6/dist-packages/pip-1.0.2-py2.6.egg', '/var/www/treeio', '/var/www', '/usr/lib/python2.6', '/usr/lib/python2.6/plat-linux2', '/usr/lib/python2.6/lib-tk', '/usr/lib/python2.6/lib-old', '/usr/lib/python2.6/lib-dynload', '/usr/local/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages', '/usr/lib/pymodules/python2.6']

Помоги мне переполнить стек, ты моя единственная надежда!

1 Ответ

2 голосов
/ 20 декабря 2011

Ваша основная проблема в том, что вы используете mod-python, несмотря на четкие предупреждения о том, что он устарел и не должен использоваться для новых проектов.

Но если вы действительно настаиваете на его использовании, проблема вполне ясна: вы добавляете /var/www/trio к пути, поэтому на все в trio должна быть прямая ссылка - settings, а не trio.settings.

...