Скажите мудрецу, где найти libjpeg

Я установил 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>()

/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

Мне кажется, что он не может найти libjpeg. Я проверил MacPorts на своем компьютере, и похоже, что пакет jpeg установлен. Я также нашел libjpeg в /opt/local/lib. Я пытался манипулировать LD_LIBRARY_PATH, как в скрипте sage, так и в Sage, используя библиотеку os, но не смог избавиться от этой ошибки. Я искал в Интернете, как заставить PIL найти libjpeg, но я обнаружил, что изменил setup.py и перестроил PIL. Sage, похоже, не включает в себя файл PIL setup.py.

Кто-нибудь еще сталкивался с этой проблемой и решил ее? Возможно, кто-то знаком с ж / пиль?

1 ответ

Решение

Ответ просто переустановить PIL.

sage.misc.package.install_package("pil", force=True)

Это было так просто и заняло минуту. Переустановка на моем компьютере, вероятно, позволила найти расположение библиотек на моем компьютере.

Другие вопросы по тегам