2011-06-30 22 views
2

Apacheのmod-wsgiの下で私のdjangoアプリケーションをデプロイしようとしているときに、このエラーメッセージが表示されました。Apache mod-wsgi djangoの問題

[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] mod_wsgi (pid=4152): Exception  occurred processing WSGI script 'C:/DjangoProjects/tryserver/Apache/django.wsgi'. 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] Traceback (most recent call last): 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\core\\handlers\\wsgi.py", line 250, in __call__ 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1]  self.load_middleware() 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site- packages\\django\\core\\handlers\\base.py", line 39, in load_middleware 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1]  for middleware_path in settings.MIDDLEWARE_CLASSES: 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\utils\\functional.py", line 276, in __getattr__ 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1]  self._setup() 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\conf\\__init__.py", line 42, in _setup 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1]  self._wrapped = Settings(settings_module) 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\conf\\__init__.py", line 87, in __init__ 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1]  mod = importlib.import_module(self.SETTINGS_MODULE) 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] File "C:\\Python27\\lib\\site-packages\\django\\utils\\importlib.py", line 28, in import_module 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1]  raise TypeError("relative imports require the 'package' argument") 
[Thu Jun 30 23:03:35 2011] [error] [client 127.0.0.1] TypeError: relative imports require the 'package' argument 

これは私のdjango.wsgiであり、適切な場所にあります。

import os 
import sys 

os.environ['DJANGO_SETTINGS_MODULE'] = '../tryserver/tryserver.settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 

何が問題なのですか?

おかげ

答えて

4

あなたの問題は次のとおりです。

os.environ['DJANGO_SETTINGS_MODULE'] = '../tryserver/tryserver.settings' 

DJANGO_SETTINGS_MODULEは、あなたの設定が含まれているインポート可能なPythonモジュールである必要があります。 Djangoは基本的にあなたの現在のdjango.wsgiでimport ../tryserver/tryserver.settingsを実行しようとしています

あなたがしようとしているものを得る最良の修正は、pythonパスにtryserverディレクトリを追加することです。ディレクトリレイアウトと仮定するとのようなものになります:あなたが正しいですが、私は唯一のtryserver.settingsまたはフルを書くとき、あなたの答えのための

import os 
import sys 

sys.path = sys.path + ["/PATH/TO/tryserver/"] # The first one 

os.environ['DJANGO_SETTINGS_MODULE'] = 'tryserver.settings' 

import django.core.handlers.wsgi 
application = django.core.handlers.wsgi.WSGIHandler() 
+0

ありがとう:

./ tryserver/ tryserver/ settings.py deploy/ django.wsgi 

を次にごdjango.wsgiであなたは何かなどを行うことができますパスImportError:設定 'tryserver.settings'をインポートできませんでした(sys.pathにありますか?):tryserver.settingsという名前のモジュールはありません。どうすれば修正できますか? – brsbilgic

+0

詳細情報で答えを更新しました。 –

+1

sys.pathに 'C:/ DjangoProjects'を追加します。現時点では、単に「C:/ DjangoProjects/tryserver」を追加するだけです。それは「tryserver」を持っていません。 DJANGO_SETTINGS_MODULEで「設定」にしておきます。長いフォームを使用して両方のディレクトリをsys.pathに追加する方が簡単です。 –

関連する問題