I'm trying to generate some pdf with django/PIL/Imaging and everything is good until I attempt to put some images into the pdf:
Exception Type: ImportError Exception Value: The _imaging C module is not installed Exception Location: D:\install\python27\lib\site-packages\PIL\Image.py in __getattr__, line 37 Python Executable: D:\install\python27\python.exe Python Version: 2.7.1 Python Path: ['D:\\~Sasha\\Portman', 'D:\\install\\python27\\lib\\site-packages\\setuptools-0.6c11-py2.7.egg', 'D:\\install\\python27\\lib\\site-packages\\pisa-3.0.33-py2.7.egg', 'D:\\install\\python27\\lib\\site-packages\\html5lib-0.95-py2.7.egg', 'D:\\install\\python27\\lib\\site-packages\\pypdf-1.13-py2.7.egg', 'D:\\install\\PyCharm 2.0.2\\helpers', 'D:\\~Sasha\\Portman', 'D:\\~Sasha', 'C:\\Windows\\system32\\python27.zip', 'D:\\install\\python27\\DLLs', 'D:\\install\\python27\\lib', 'D:\\install\\python27\\lib\\plat-win', 'D:\\install\\python27\\lib\\lib-tk', 'D:\\install\\python27', 'D:\\install\\python27\\lib\\site-packages', 'D:\\install\\python27\\lib\\site-packages\\PIL']
PIL was installed via pre-compiled bundle from PIL website and importing _imaging was giving this output:
Python 2.7.1 (r271:86832, Feb 7 2011, 11:33:02) [MSC v.1500 64 bit (AMD64)] on win32 Type "help", "copyright", "credits" or "license" for more information. >>> import _imaging Traceback (most recent call last): File "<stdin>", line 1, in <module> ImportError: DLL load failed: %1 is not a valid Win32 application.
Could python x64 be causing this issue?
Python 2.7.1 (r271:86832, Feb 7 2011, 11:33:02) [MSC v.1500 64 bit (AMD64)] on win32
I got a pre-built package for x64 of PIL and installed it on top of existing bundle, now import via console does work:
>>> import _imaging import _imaging # dynamically loaded from D:\install\python27\lib\site-packages\PIL\_imaging.pyd
but I keep getting the same error whilst trying to generate the pdf file.
Yes, this could definitely be (and most likely is) caused by an x64 issue. If you're running Python x64, any module that includes a native DLL needs to be installed in a version compiled for x64 too.
Edit: I cannot find an actual precompiled version for x64 at the PIL site, but here is a starting point if you're interested in compiling it yourself.
I had the same problem. I just simply uninstalled
Pillow which is replacement for
pip install pillow
This worked for me.