2010-11-04 44 views
0

我使用Python 2.4和Django的1.2.2和Apache这样的2.2.3
写的httpd.conf部分:的Apache + Django的PYTHONPATH困惑:导入错误:无法导入设置 'mysite.settings'

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

settings.py路径:/家庭的/ usr/WWW/mysite的/
,但它不工作,当我访问http://localhost/mysite/

ImportError: Could not import settings 'mysite.settings'

我修改了它,改变/家庭的/ usr/WWW到/ var/www并复制/ var/www中的settings.py有用。 那么为什么Apache会以不同的方式处理两个目录?

回答

1

你在使用SELinux吗?比较的

ls -laZ /var/www 

ls -laZ /home/usr/www 

机会输出是你的主目录不能由Apache进程访问。如果是这样的问题,它可能要解决的问题简单地

chcon -R --reference=/var/www /home/usr/www 
chmod og+x /home/usr /home/usr/www 

BTW:http://docs.djangoproject.com/en/dev/howto/deployment/modpython/警告说,“对于mod_python的支持将在未来的Django的版本中将会弃用如果您要配置一个新的部署,强烈建议您考虑使用mod_wsgi或任何其他受支持的后端。“

+0

非常感谢。它现在有效。 – elprup 2010-11-07 11:12:23

0

添加PythonPath "['/home/usr/www/mysite'] + sys.path"

相关问题