mod_wsgi未能尊重WSGIPythonHome
我正在尝试让WSGI在虚拟环境中运行。我已经把虚拟环境设置好了:
(virtualenv)dev:/var/www/app$ which python
/var/www/virtualenv/bin/python
(virtualenv)dev:/var/www/app$ python
Python 2.6.1 (r261:67515, Dec 5 2008, 22:09:34)
[GCC 4.1.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import importlib
>>>
在我的httpd.conf文件中,我按照这里的说明,添加了以下内容:
WSGIPythonHome /var/www/virtualenv
WSGIPythonPath /var/www/virtualenv/lib/python2.6/site-packages
但是当我通过apache加载应用时,出现了以下错误:
[Wed Dec 28 12:28:15 2011] [error] [client 127.0.0.1] mod_wsgi (pid=15026): Exception occurred processing WSGI script '/var/www/app/wsgi.py'.
[Wed Dec 28 12:28:15 2011] [error] [client 127.0.0.1] Traceback (most recent call last):
[Wed Dec 28 12:28:15 2011] [error] [client 127.0.0.1] File "/var/www/app/wsgi.py", line 29, in <module>
[Wed Dec 28 12:28:15 2011] [error] [client 127.0.0.1] import importlib
[Wed Dec 28 12:28:15 2011] [error] [client 127.0.0.1] ImportError: No module named importlib
我缺少了什么呢?我该如何调试这种问题?
1 个回答
20
你的 mod_wsgi 可能是用一个和你想用的 Python 版本不一样的版本编译的。举个例子,你不能把一个是用 Python 2.4 编译的 mod_wsgi 用在一个用 Python 2.6 创建的虚拟环境里。
首先,确认一下 mod_wsgi 是为哪个版本的 Python 编译的。