0

mod_pythonを介してdjangoプロジェクトをデプロイしようとしていますが、ハンドラーモジュールがないというエラーが表示され続けます。

私のapache設定:

    <Location />
            SetHandler python-program
            PythonHandler django.core.handlers.modpython
            SetEnv DJANGO_SETTINGS_MODULE bookmarklet_server.settings
            PythonOption django.root /
            PythonDebug On
            #PythonPath "['', '/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/lib/python2.6/dist-packages', '/usr/lib/python2.6/dist-packages/PIL', '/usr/lib/python2.6/dist-packages/gst-0.10', '/usr/lib/pymodules/python2.6', '/usr/lib/pymodules/python2.6/gtk-2.0', '/usr/local/lib/python2.6/dist-packages']"
    </Location>

もう1つのパスは、デフォルトのpythonpathをコピーしようとしたものですが、役に立ちませんでした。

Pythonコンソールでの簡単なテストは、モジュールがアクセス可能であることを示しています。

Python 2.6.4(r264:75706、2009年11月2日、14:44:17)linux2の[GCC 4.4.1]詳細については、「help」、「copyright」、「credits」、または「license」と入力してください。

>>>インポートdjango.core.handlers.modpython

エラーなし

ただし、サイトをロードすると、このエラーが誤って返されます。

MOD_PYTHON ERROR

ProcessId:      8926
Interpreter:    '<ip>'

ServerName:     '<ip>'
DocumentRoot:   '/htdocs'

URI:            '/'
Location:       '/'
Directory:      None
Filename:       '/htdocs'
PathInfo:       '/'

Phase:          'PythonHandler'
Handler:        'django.core.handlers.modpython'

Traceback (most recent call last):

  File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1537, in HandlerDispatch
    default=default_handler, arg=req, silent=hlist.silent)

  File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 1202, in     _process_target
    module = import_module(module_name, path=path)

  File "/usr/lib/python2.6/dist-packages/mod_python/importer.py", line 304, in import_module
    return __import__(module_name, {}, {}, ['*'])

ImportError: No module named django.core.handlers.modpython
4

2 に答える 2

0

おそらく、djangoはPythonpathに含まれていませんか?

于 2009-12-12T12:32:41.950 に答える
0

わかりました、なんとか問題を修正しました。

この特定のインポートの問題は、svnトランクをdist-packagesにリンクするだけでなく、djangoをインストールすることで修正されました。なぜこれがサーバープロセスで機能しないのかわかりません。

しかしとにかく、nginxを介してCGIデプロイメントを実行することで解決されたさらなる問題があり、最終的に最後の問題(wsgiデプロイメントの試みも失敗しました)は、ファイルがあった場所である/homedirに自分だけがアクセスできることでした。

今日はたくさんのことを学びました:)

于 2009-12-12T13:25:40.367 に答える