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

Posted

技术标签:

【中文标题】如何修复“未安装 _imaging C 模块”Django/WSGI/Apache【英文标题】:How to fix "The _imaging C module is not installed" Django/WSGI/Apache 【发布时间】:2011-09-17 20:35:04 【问题描述】:

我在家用计算机上运行我的测试站点,这台计算机不幸地使用了 Windows。现在,我正在尝试对图像进行缩略图,但出现错误:

The _imaging C module is not installed

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

知道为什么它可以在 runserver/shell 而不是 Apache 中工作吗?

【问题讨论】:

如果其他人遇到此问题,您的网络服务器无法加载 _imaging.pyd 模块...但您的 shell 和 runserver 可以。如果您想像我一样尝试缩略图,那么有一个简单的解决方案(无论如何可能对性能更好)——在外壳上预渲染缩略图。 是的。我找到了解决方案:***.com/questions/5352968/… 【参考方案1】:

您需要在 .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()

【讨论】:

是的,路径已设置,站点包中的其他所有内容都已正常加载(如 mysql)。只是不是那个_imaging.pyd,我什至把DLLs文件夹放在了路径中,不开心:(【参考方案2】:

我在 windows server 2008 上的 apache 上的 mod_wsgi 下遇到了同样的问题。PIL 可以从我的 virtualenv 加载,但不会在 mod_wsgi 下加载,即使在带有 .pyd 文件的文件夹中使用正确版本的 msvcr90.dll .

对我来说,答案与 WINDOWS SXS HELL 和规划师创建的补丁有关。

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

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

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

【讨论】:

【参考方案3】:

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

2.Exist!now,试试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.在站点包上安装正确的包,它将运行

祝你好运!

【讨论】:

以上是关于如何修复“未安装 _imaging C 模块”Django/WSGI/Apache的主要内容,如果未能解决你的问题,请参考以下文章

如何修复“myClass 没有对象成员” [重复]

如何开始使用 dj-stripe 1.0?

怎么把一首自己喜欢的普通歌曲变成DJ 混合DJ?

微擎免公众号盲盒源码+修复部分Bug

坦克大战DJ。。。我想把这首歌放到QQ空间

用DJ Java Decompiler打开class文件,如何使用?