Openshift reportlab PIL问题

时间:2014-01-07 15:25:45

标签: python python-imaging-library openshift reportlab platypus

我已成功在我的盒式磁带(Python 2.7)中安装了PIL和reportlab,并在控制台中通过ssh对它们进行了测试。

不知何故,reportlab无法使用PIL。

我也尝试下载PIL并修复64位问题,但我仍然收到错误。

这是我收到的信息:

unpack requires a string argument of length 1
Imaging Library not available, unable to import bitmaps only jpegs
fileName='/var/lib/openshift/52c1ab8de0b8cdb8a1000177/app-root/runtime/repo/wsgi/static/images/logo_colegio.png' identity=[ImageReader@0x7f6206c29c10 filename='/var/lib/openshift/52c1ab8de0b8cdb8a1000177/app-root/runtime/repo/wsgi/static/images/logo_colegio.png']
fileName='/var/lib/openshift/52c1ab8de0b8cdb8a1000177/app-root/runtime/repo/wsgi/static/images/logo_colegio.png' identity=[ImageReader@0x7f6206c29c10 filename='/var/lib/openshift/52c1ab8de0b8cdb8a1000177/app-root/runtime/repo/wsgi/static/images/logo_colegio.png']

我查找了代码,发现这是抛出异常的地方:

if haveImages:
    #detect which library we are using and open the image
    if not self._image:
        self._image = self._read_image(self.fp)
        if getattr(self._image,'format',None)=='JPEG': 
             self.jpeg_fh = self._jpeg_fh
else:
    from reportlab.pdfbase.pdfutils import readJPEGInfo
    try:
       self._width,self._height,c=readJPEGInfo(self.fp)
    except:
       annotateException('\nImaging Library not available, unable to import 

       bitmaps only jpegs\nfileName=%r identity=%s'%(fileName, self.identity()))

只有在“haveImages”为False时才会引发。奇怪的是,我使用控制台打印reportlab.util.haveImage并获得“True”

我的想法已经用完了......有没有人遇到过这样的情况? 任何想法将不胜感激!!

PD:当我尝试使用addFromList()((Platypus))将图像添加到Frame时会发生这种情况

1 个答案:

答案 0 :(得分:0)

对于任何有这个问题的人:

问题是只是无法在64位系统上正确安装。 编辑安装文件并不难。 手动安装PIL后重启应用程序非常重要