为什么导入在apache / mod_wsgi中中断而在开发中没有?

时间:2014-05-01 20:56:53

标签: python django apache mod-wsgi importerror

我非常绝望地试图解决这个问题,所以我想我会在这里分享我的新知识。

设置

mysite/
 |-myapp/
 |   |-views.py
 |   |-urls.py
 |   |-models.py
 |   `-foo/
 |      `- bar.py
 `-mysite/
    |-settings.py
    `-...et cetera

views.py

from foo.bar import barclass

症状

我的django项目在开发中运行良好,但在views.py中导入语句(设置导入问题,而 mod_wsgi中的PythonPath问题还有许多其他问题!)

ImportError: No module named bar

我再说一遍:不是设置问题而不是wsgi配置问题,但它在开发中运行良好并且在生产中中断。

1 个答案:

答案 0 :(得分:0)

解决方案

文件权限。

foo及其所有子目录的权限设置为700.其文件(bar.py等)都具有权限644。

分别将权限更改为755和664,修复了错误。我认为apache总是以root身份运行,所以我对整个事情仍感到有些困惑。