2011-06-18 66 views
2

我在我的家用電腦上運行我的測試網站,可悲地使用Windows。現在,我想縮略圖的形象,但我得到的錯誤:如何解決「_imaging C模塊沒有安裝」Django/WSGI/Apache

The _imaging C module is not installed 

但只有當我嘗試通過Apache服務器訪問視圖。 Runserver縮略圖就好了。我已經安裝了別人引用的特殊預編譯的二進制文件,但沒有任何運氣。

任何想法爲什麼它在runserver/shell但不是Apache?

+0

如果有其他人遇到這個問題,你的web服務器無法加載_imaging.pyd模塊......但你的shell和runserver可以。如果你想像我一樣縮略圖,那麼有一個簡單的解決方案(也許對性能來說可能更好) - 在shell上預渲染縮略圖。 – leech

+1

是的。我找到了解決方案:http://stackoverflow.com/questions/5352968/trouble-using-pil-in-django-app-on-windows – trd

回答

0

您需要在您的.wsgi配置文件的路徑中有PIL in和其他站點包的路徑。所以首先你需要找到你的站點包的位置(例如:/usr/local/lib/python2.6/site-packages/),然後將它添加到你的.sys文件的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() 
+0

是的,路徑設置,網站包中的其他一切都很好地加載(像mysql)。只是不是_imaging.pyd,我甚至把DLL文件夾放在路徑中,不開心:( – leech

0

我不得不下mod_wsgi的Apache的Windows Server 2008上同樣的問題PIL會從我的virtualenv加載就好了,但在mod_wsgi的不會加載,即使MSVCR90.DLL的正確版本與.pyd文件的文件夾。

我的答案與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

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

0

1.您應該在電腦中檢查_imaging.pyc或_imaging.dll或_imaging.so。

2.Exist!現在,嘗試import Image

3.右鍵!嘗試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。雙贏AMD64的py2.5,你可以在這裏找到:http://www.lfd.uci.edu/~gohlke/pythonlibs/

4.install現場,packeges合適的包,它將會運行

GOOD LUCK!

相關問題