如何修复“未安装_imaging C模块”Django / WSGI / Apache

时间:2011-06-18 16:57:09

标签: windows django apache python-imaging-library wsgi

我在我的家用电脑上运行我的测试网站,遗憾地使用Windows。现在,我正在尝试缩略图像,但我收到了错误:

The _imaging C module is not installed

但只有当我尝试通过Apache服务器访问视图时。 Runserver缩略图就好了。我已经安装了其他人引用的特殊预编译二进制文件,但没有任何运气。

任何想法为什么它在runserver / shell中运行而不是Apache?

3 个答案:

答案 0 :(得分:0)

您需要在.wsgi配置文件中获取PIL的路径以及路径中的其他站点包。首先,您需要找到站点包的位置(例如:/usr/local/lib/python2.6/site-packages/),然后将其添加到.wsgi文件中的sys.path中。示例WSGI:

import os, sys
sys.path.append('/home/www/sites/mysite', '/usr/local/lib/python2.6/site-packages/')
os.environ['DJANGO_SETTINGS_MODULE'] = 'mysite.settings'

import django.core.handlers.wsgi

application = django.core.handlers.wsgi.WSGIHandler()

答案 1 :(得分:0)

我在windows服务器2008上的apache上的mod_wsgi下遇到了同样的问题.PIL会从我的virtualenv加载就好了,但是不会在mod_wsgi下加载,即使在带有.pyd文件的文件夹中使用正确版本的msvcr90.dll也是如此

对我来说,答案与WINDOWS SXS HELL和制作人员创建的补丁有关。

我必须编辑我的distutils \ msvc9compiler.py并注释掉一行(我使用的是Python 2.7,他使用的是2.6.x),删除了build文件夹并重建了PIL,一切正常。

http://groups.google.com/group/isapi_wsgi-dev/browse_thread/thread/03fa2b485ec2281d?pli=1

我不知道他是谁,但我非常感激。

答案 2 :(得分:0)

1.您应该检查计算机中的_imaging.pyc或_imaging.dll或_imaging.so。

2.Exist!现在,尝试import Image

3.Right!尝试import _imaging

如果错误,检查您的计算机是32位还是64位。

如果您的计算机是32位,您应该安装一些软件包,如PIL-1.1.7.win32-py2.5 http://effbot.org/downloads/PIL-1.1.7.win32-py2.5.exe

如果您的计算机是64位,您应该安装一些像PIL-1.1.7.win-amd64-py2.5这样的软件包,你可以在这里找到:http://www.lfd.uci.edu/~gohlke/pythonlibs/

4.在site-packeges上安装正确的软件包,它将运行

好运!