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.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With