【发布时间】:2012-01-29 11:02:57
【问题描述】:
我正在尝试让 WSGI 使用 virtualenv 设置运行。我的 virtualenv 一切正常:
(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 中,我有以下内容,如 here 所述:
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
我错过了什么?这种问题怎么调试?
【问题讨论】:
-
importlib主要是 Python 3 的东西(尽管它的 非常 小子集在 2.7 中可用)。它根本不存在于 2.6 中。 -
好的,但是如果它在命令行中工作,它不应该在 Apache 中工作吗?