Python 告诉sage在哪里可以找到libjpeg

Python 告诉sage在哪里可以找到libjpeg,python,jpeg,python-imaging-library,sage,Python,Jpeg,Python Imaging Library,Sage,我已经安装在Mac OS X上。它看起来像有PIL。下面的代码给出了一个IOError import Image a = Image.open("pic.jpg") a.thumbnail((int(100), int(100))) 这就是我得到的错误 IOError Traceback (most recent call last) <ipython console> in <module>()

我已经安装在Mac OS X上。它看起来像有PIL。下面的代码给出了一个IOError

import Image
a = Image.open("pic.jpg")
a.thumbnail((int(100), int(100)))
这就是我得到的错误

IOError                                   Traceback (most recent call last)

<ipython console> in <module>()

/sage/local/lib/python2.6/site-packages/PIL/Image.pyc in thumbnail(self, size, resample)
   1520         self.draft(None, size)
   1521 
-> 1522         self.load()
   1523 
   1524         try:

/sage/local/lib/python2.6/site-packages/PIL/ImageFile.pyc in load(self)
    178 
    179             for d, e, o, a in self.tile:
--> 180                 d = Image._getdecoder(self.mode, d, a, self.decoderconfig)
    181                 seek(o)
    182                 try:

/sage/local/lib/python2.6/site-packages/PIL/Image.pyc in _getdecoder(mode, decoder_name, args, extra)
    373         return apply(decoder, (mode,) + args + extra)
    374     except AttributeError:
--> 375         raise IOError("decoder %s not available" % decoder_name)
    376 
    377 def _getencoder(mode, encoder_name, args, extra=()):

IOError: decoder jpeg not available
IOError回溯(最近一次调用)
在()
/缩略图中的sage/local/lib/python2.6/site-packages/PIL/Image.pyc(自我、大小、重采样)
1520自吃水(无,尺寸)
1521
->1522 self.load()
1523
1524尝试:
/加载中的sage/local/lib/python2.6/site-packages/PIL/ImageFile.pyc(self)
178
179对于自瓷砖中的d、e、o、a:
-->180 d=图像。\u获取解码器(self.mode,d,a,self.decoderconfig)
181(o)
182尝试:
/sage/local/lib/python2.6/site-packages/PIL/Image.pyc in_getdecoder(模式,解码器名称,参数,额外)
373返回应用(解码器,(模式,)+args+extra)
374除属性错误外:
-->375 raise IOError(“解码器%s不可用”%decoder\u name)
376
377 def_getencoder(模式、编码器名称、参数、额外=()):
IOError:解码器jpeg不可用
在我看来,它似乎找不到libjpeg。我检查了我机器上的MacPorts,看起来jpeg软件包已经安装。我还在/opt/local/lib中找到了libjpeg。我尝试在sage脚本中操作LD_LIBRARY_路径,而在sage中,使用操作系统库,但未能消除此错误。我在互联网上搜索了如何让PIL找到libjpeg,但我找到的内容涉及修改setup.py重新生成PIL。sage似乎没有包含PIL的setup.py


还有其他人遇到这个问题并解决了吗?也许有人熟悉w/PIL?

答案就是重新安装PIL

sage.misc.package.install_package("pil", force=True)
就这么简单&只花了一分钟。在我的机器上重新安装它可能会让它找到我机器上库的位置