0

我已经让 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>

任何想法为什么会发生这种情况?

4

2 回答 2

1

我只能猜测您的问题可能是什么,但这里有两个标准检查:

  1. 从几个不同的工作目录在 shell 中导入 modpython
  2. 更改用户(如果您有任何除 root 设置)并重复步骤 1

如果 #2 看起来比它的价值更麻烦,那么尝试非常非常仔细地检查沿 modpython 路径的每个文件夹的权限,以确保“其他”在沿途的每个阶段都具有读取权限。如果你已经将 django 移动到你的主目录中(就像我曾经做过的那样......不知道为什么,但得到了同样的错误)那将是问题所在。您要么需要将其移回 apache 可以读取的目录,要么需要为其他目录添加读取权限。

于 2009-03-13T15:16:59.557 回答
0

在我的情况下 pytonpath 和访问权限是好的。这个错误在重新编译python后消失了。

配置:
Gentoo
Django 1.1
Apache:
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 协商重写 setenvif 拼写状态 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_ajp -proxy_balancer -proxy_connect -proxy_ftp -proxy_http -substitute -version" APACHE2_MPMS="worker -event -itk -peruser -prefork"
Python 2.6.4

于 2010-05-29T23:07:39.337 回答