我已经让django运行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 :(得分:1)
我只能猜出你的问题可能是什么,但这里有两个标准检查:
如果#2看起来比它的价值更麻烦,那么尝试非常,非常仔细地检查modpython路径中每个文件夹的权限,以确保“其他”在每个阶段都具有读取权限一路上。如果你已经将django移动到你的主目录中(就像我曾经做过的那样......不确定为什么,但得到了同样的错误)那就是问题所在。您需要将其移回到apache可以读取的目录中,或者您需要为其他目录添加读取权限。
答案 1 :(得分:0)
在我的情况下,pytonpath和访问权限都可以。 重新编译python后,此错误消失。
配置:
Gentoo的
Django 1.1
阿帕奇:
www-servers / apache-2.2.15 USE =“doc ssl suexec threads -debug -ldap(-selinux)-static”APACHE2_MODULES =“alias auth_basic authn_alias authn_anon authn_default authn_file authz_default authz_host authz_owner autoindex cache dav dav_fs dav_lock deflate dir disk_cache env expires ext_filter file_cache过滤器头包括info log_config logio mem_cache mime mime_magic negotiation rewrite setenvif speling status unique_id userdir usertrack vhost_alias -actions -asis -auth_digest -authn_dbd -authn_dbm -authz_dbm -authz_groupfile -authz_user -cern_meta -charset_lite -dbd -dumpio -ident -imagemap -log_forensic - proxy -proxy_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -substitute -version“APACHE2_MPMS =”worker -event -itk -peruser -prefork“
Python 2.6.4