I have a rather strange problem.
On my production server I'm running apache and mod_wsgi.
I have reports that I generate using reportlab. In some of the reports I
display a corporate logo which is stored in a .png file.
If I start web2py from the command line (using the rocket server) my
reports work fine. When I run them through apache and mod_wsgi I get the
following:
Traceback (most recent call last):
File "C:\prod\web2py\gluon\restricted.py", line 212, in restricted
exec ccode in environment
File "C:\prod\web2py\applications\infocenter\controllers/reports.py", line
179, in <module>
File "C:\prod\web2py\gluon\globals.py", line 188, in <lambda>
self._caller = lambda f: f()
File "C:\prod\web2py\gluon\tools.py", line 2911, in f
return action(*a, **b)
File "C:\prod\web2py\applications\infocenter\controllers/reports.py", line
46, in corporateList
rpt.corporateList(letters_file, auth.user.id)
File "applications\infocenter\modules\reports\corporateList.py", line 245,
in corporateList
go(doc, db)
File "applications\infocenter\modules\reports\corporateList.py", line 228,
in go
doc.build(reportStory, onFirstPage=firstPage, onLaterPages=subsequentPages)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 1117, in build
BaseDocTemplate.build(self,flowables, canvasmaker=canvasmaker)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 877, in build
self.clean_hanging()
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 510, in clean_hanging
self.handle_flowable(self._hanging)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 757, in handle_flowable
f.apply(self)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 140, in apply
getattr(doc,arn)(*args)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 1093, in handle_pageBegin
self._handle_pageBegin()
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\platypus\doctemplate.py"
, line 535, in handle_pageBegin
self.pageTemplate.onPage(self.canv,self)
File "applications\infocenter\modules\reports\corporateList.py", line 91,
in firstPage
PAGE_HEIGHT-(1.15*inch), 55, 55)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\pdfgen\canvas.py"
, line 857, in drawImage
imgObj = pdfdoc.PDFImageXObject(name, image, mask=mask)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\pdfbase\pdfdoc.py"
, line 2094, in __init__
self.loadImageFromA85(src)
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\pdfbase\pdfdoc.py"
, line 2100, in loadImageFromA85
imagedata = map(string.strip,pdfutils.makeA85Image(source,IMG=IMG))
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\pdfbase\pdfutils.py"
, line 34, in makeA85Image
raw = img.getRGBData()
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\lib\utils.py"
, line 658, in getRGBData
annotateException('\nidentity=%s'%self.identity())
File
"C:\Python27\lib\site-packages\reportlab-2.5-py2.7-win32.egg\reportlab\lib\utils.py"
, line 653, in getRGBData
im = im.convert('RGB')
File "C:\Python27\lib\site-packages\pil-1.1.7-py2.7-win32.egg\Image.py",line
679, in convert
self.load()
File "C:\Python27\lib\site-packages\pil-1.1.7-py2.7-win32.egg\ImageFile.py"
, line 164, in load
self.load_prepare()
File "C:\Python27\lib\site-packages\pil-1.1.7-py2.7-win32.egg
\PngImagePlugin.py", line 381, in load_prepare
ImageFile.ImageFile.load_prepare(self)
File "C:\Python27\lib\site-packages\pil-1.1.7-py2.7-win32.egg\ImageFile.py"
, line 231, in load_prepare
self.im = Image.core.new(self.mode, self.size)
File "C:\Python27\lib\site-packages\pil-1.1.7-py2.7-win32.egg\Image.py",line
37, in __getattr__
raise ImportError("The _imaging C module is not installed")
ImportError: The _imaging C module is not installed
identity=[ImageReader@0x2b5aa50 filename=
'c:/prod/web2py/applications/InfoCenter/static/images/logo.png']
handle_pageBegin args=()
Any idea why this is happening? I'm thinking it has something to do with
the full path of the image file being specified here in the log. Ideas?
-Jim
--