The _imaging C module is not installed (on windows)


Question

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.

1
6
3/4/2012 8:52:35 PM

Accepted Answer

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.

13
5/23/2017 11:54:24 AM

I had the same problem. I just simply uninstalled

PIL

and installed Pillow which is replacement for PIL

pip install pillow

This worked for me.


Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon