Python,Django mod_wsgi,virtualenv错误:ImportError:没有名为os的模块(路径不正确)

时间:2014-11-18 16:00:42

标签: python django python-2.7 virtualenv mod-wsgi

我正在尝试使用mod_wsgi在Apache上设置Django appliaction但是我一直收到错误:

ImportError: No module named os

我在Centos上。 Python的系统版本是2.6,但我已经要求系统管理员安装2.7。 Mod_wsgi是从包管理器安装的,所以可能使用的是python 2.6。

wsgi.conf的Apache文件包含以下内容:

LoadModule wsgi_module modules / mod_wsgi.so

WSGIPythonHome /var/www/html/mysite/virtualenv_2.7/bin
WSGIPythonPath /var/www/html/mysite/collaboratorimport/webform:/var/www/html/mysite/virtualenv_2.7/lib/python2.7/site-packages

在wsgi.py脚本的顶部,我打印了sys路径

import sys 
print "\n".join(sys.path)

错误日志包含以下消息,表明mod_wsgi正在寻找python2.6库:

[Tue Nov 18 16:45:31 2014] [error] mod_wsgi (pid=2148): Unable to import 'site' module.
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python26.zip
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/plat-linux2
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/lib-tk
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/lib-old
[Tue Nov 18 16:45:31 2014] [error] /var/www/html/uploads.cnag.cat/virtualenv_2.7/bin/lib64/python2.6/lib-dynload
[Tue Nov 18 16:45:31 2014] [error] Traceback (most recent call last):
[Tue Nov 18 16:45:31 2014] [error]   File "/var/www/html/mysite/collaboratorimport/webform/webform/wsgi.py", line 14, in <module>
[Tue Nov 18 16:45:31 2014] [error]     import os
[Tue Nov 18 16:45:31 2014] [error] ImportError: No module named os

所以看起来mod_wsgi(或其他东西)将bin / lib64 / python2.6附加到我给它的路径上。这是因为它期望我使用python2.6吗?

我可以使用我的virtualenv(python2.7)和期望python2.6的mod_wsgi。如何修复路径,以便它们指向正确的位置?

1 个答案:

答案 0 :(得分:4)

不,你不能像这样混合搭配。您需要安装一个针对Python 2.7编译的mod_wsgi版本。