2011-09-30 5 views
1

Mac OS X에 Sage을 설치했습니다. PIL이있는 것 같습니다. 다음 코드는 IOError를 제공합니다.sage에게 libjpeg의 위치를 ​​알려주십시오.

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를 조작하려고 시도했지만, 현자에서는 os 라이브러리를 사용했지만이 오류를 제거하지 못했습니다. PIL이 libjpeg을 찾는 방법을 찾기 위해 인터넷에서 검색했지만 setup.py를 PIL로 재구성하여 수정했다. sage는 PIL의 setup.py를 포함하지 않는 것 같습니다.

누구든지이 문제가 발생했습니다. & 해결 되었습니까? 아마도 누군가 PIL로 승무원이 될 것입니까?

답변

1

대답은 단지 PIL을 다시 설치하는 것입니다.

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

그것은 단지 &이었습니다. 내 컴퓨터에 다시 설치하면 내 컴퓨터에서 라이브러리의 위치를 ​​찾을 수 있습니다.

관련 문제