1

付属の開発サーバーで正常に動作するDjangoプロジェクトがあります。

「djangomanage.pyrunserver」を使用してもエラーはまったく発生せず、アプリは正常に動作しますが、mod_wsgiとApacheで使用しようとすると、ブラウザーに「Internal ServerError」と500エラーコードが表示され、 Apacheエラーログにエラーをインポートします。

ログのエラーは次のとおりです。

ImportError:登録という名前のモジュールがありません

私は次のようなパスにあるDjango登録モジュールを使用しています:

/opt/raj/photos/registration

Pythonシェルを起動し、sysをインポートし、sys.pathを使用してパスのリストを取得できるため、登録アプリがパスに含まれていることがわかります。

Pythonシェルから出力されるパスの一部を次に示します。

sys.path [''、'/ opt / raj / pyamf'、'/ opt / raj'、'/ opt / raj / pictures'、'/ opt / raj / pictures / register'、'/ usr / lib / python2 .6'、....]

どんな考えでもいただければ幸いです。

4

1 に答える 1

2

ウェブサーバーのpythonpathにありますか?これらの「/opt」パスは通常、標準の python パスには含まれていないため、何かがそれらを追加していると思います。Webサーバープロセスにも追加されるのですか、それともユーザー専用のどこかのシェル構成ファイルにPYTHONPATHが設定されていますか?

mod_python を使用する場合は PythonPath ディレクティブがありますが、mod_wsgi に似たようなものはありますか?

これはほぼ間違いなく、Web サーバーのパスがあなたのパスと同じではない場合です。そのため、これらの領域に検索を集中させます。

于 2010-01-30T23:50:16.767 に答える