2011-12-20 4 views
1

私はこの男と同じような問題を抱えているようです:Django newbie deployment question - ImportError: Could not import settings 'settings'しかし、私は頭や尻尾を作ることはできません。 サーバでDebianが実行されています。アプリケーションは内部サーバー上で正常に動作しますが、apache + mod_pythonを使用しようとすると次のような問題が発生します。Django初心者がtreeioをApacheの背後で動かそうとしています

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

私が唯一の希望です!

答えて

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をまだサポートしていないようですね(?)atleast私のプロジェクトディレクトリにwsgiファイルがありません。 – tskulbru