2011-12-20 1 views
1

나는이 사람과 비슷한 문제가있는 것 같다 : Django newbie deployment question - ImportError: Could not import settings 'settings'하지만 머리 나 꼬리를 만들 수 없습니다. 서버에서 데비안을 실행 중입니다. 응용 프로그램은 내부 서버에서 잘 실행되지만 아파치 + mod_python을 사용할 때 다음과 같은 문제가 발생합니다.장고 새내기 treeio 아파치 뒤에 작동하도록하려고

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. 모든 파일을 httpd.conf의
  3. 컨텐츠 파일 권한이 777 (모든 권한 문제가 있다면 내가 테스트 한)이

    <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'] 

도와주세요 stackoverflow, 당신은 나의 유일한 희망입니다!

답변

2

귀하의 주된 문제는 귀하가 mod-python을 사용하고 있다는 명확한 경고에도 불구하고 더 이상 사용되지 않으며 새로운 프로젝트에 사용해서는 안된다는 것입니다. 당신이 정말로 그것을 사용하여 주장하는 경우

는하지만, 문제는 아주 분명하다 : 당신은 경로에 /var/www/trio을 추가하고, 그래서 trio의 모든 직접 참조 할 필요가있다 - settings을하지 trio.settings을.

+0

아, 그 사실을 알지 못했습니다. mod-python 대신에 무엇을 사용 하시겠습니까? 또한 : 나는 treeio.settings 대신에 설정에 대해서만 참조하려고했지만 작동하지 않았다. – tskulbru

+3

WSGI (https://docs.djangoproject.com/en/dev/howto/deployment/wsgi/)는 자주 사용되는 배포 전략입니다. – jvc26

+0

treeio가 wsgi를 아직 지원하지 않는 것처럼 보입니다 (at) atleast 내 프로젝트 디렉토리에 wsgi 파일이 없습니다. – tskulbru