2009-03-13 10 views
0

私はしばらく今のmod_pythonので実行ジャンゴがあったが、今日、私は次のエラーを取得ジャンゴmod_pythonのエラー

MOD_PYTHON ERROR 

ProcessId:  4551 
Interpreter: 'thatch' 

ServerName:  'thatch' 
DocumentRoot: '/var/www/thatch' 

URI:   '/' 
Location:  '/' 
Directory:  None 
Filename:  '/var/www/thatch/' 
PathInfo:  '' 

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

Traceback (most recent call last): 

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

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

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

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

これは私のバーチャルホストの設定

<VirtualHost *:80> 
    ServerName thatch 

    DocumentRoot /var/www/thatch 

    <Location "/"> 
    SetHandler python-program 
    PythonPath "['/var/www/thatch'] + sys.path" 
    PythonHandler django.core.handlers.modpython 
    SetEnv DJANGO_SETTINGS_MODULE thatch.settings 
    PythonOption django.root /var/www/thatch 
    PythonDebug On 
    </Location> 

    <Location "/media"> 
    SetHandler None 
    </Location> 

    <LocationMatch "\.(jpg|gif|png|css|js)$"> 
    SetHandler None 
    </LocationMatch> 

</VirtualHost> 

任意のアイデアをなぜこれが起こっているのですか?

+0

あなたがdjango.coreをインポートすることができます。 handlers.modpythonを手動でPythonシェルから?私はいくつかの私のpythonモジュールがインポートに失敗したときに、このような奇妙なインポートの問題に遭遇しましたが、私はしばしば手作業でインポートしようとすると説明的なエラーが発生します。 –

+0

はいシェルから直接インポートすることができます –

+0

これで、ApacheのPythonパスはどうですか?それはあなたのシステムの広いパスから変更されている場合があります。これをテストするには、PythonPathを使ってDjangoのパスを明示的に追加することができます。 –

答えて

1

私は、あなたの問題が何であるかを推測することができますが、ここでは2つの標準的なチェックです:シェルで

  1. インポートmodpythonは異なる作業ディレクトリは、カップルから、
  2. 変更ユーザー(あなたはどのルート以外に持っている場合設定)を繰り返しステップ1

#2は、そのことを確認するmodpythonへのパスに沿って各フォルダのアクセス許可を調べる非常に、非常に慎重にをを試行し、それは価値があるよりも、多くの問題のように見える場合"other"は途中のすべての段階で読み込みアクセス権を持ちます。あなたがホームディレクトリにdjangoを移動した場合(私は一度やったのと同じ理由ではないが、同じエラーが出る)、問題になるでしょう。あなたは、Apacheを読むことができるディレクトリに戻すか、他の人のための読み込み権限を追加する必要があります。

0

私の場合、pytonpathとアクセス権はOKでした。 このエラーは、再コンパイル後に消えました。

構成:
のGentoo
Djangoの1.1
アパッチ:
WWW-サーバ/ apacheの-2.2.15 USE = "DOC SSL suexecのスレッド-debug -ldap(-selinux)-static" APACHE2_MODULES = "エイリアスAUTH_BASIC authn_alias authn_anon authn_default authn_file authz_default authz_host authz_ownerのautoindexキャッシュDAV dav_fs dav_lock収縮DIR disk_cacheのenv ext_filterのfile_cacheフィルタヘッダーがlog_configのlog 10 mem_cacheがspeling状況SetEnvIfディレクティブmime_magic交渉書き換えたMIME情報を含んで期限が切れるUNIQUE_IDユーザーディレクトリusertrack vhost_alias -actions -asis -auth_digest -authn_dbd -authn_dbm -authz_dbm -authz_groupfile -authz_user -cern_meta -charset_lite -dbd -dumpio -ident -ima gemap -log_forensic -proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -substitute -version」APACHE2_MPMS = "労働者-event -itk -peruser -prefork"
のPython 2.6.4