복붙노트

[PYTHON] PIL - libjpeg.so.8 : 공유 객체 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음

PYTHON

PIL - libjpeg.so.8 : 공유 객체 파일을 열 수 없습니다 : 해당 파일 또는 디렉토리 없음

libjpeg v8, PIL 1.1.7을 컴파일하고 _imaging에 대한 가져 오기는 시스템 파이썬에서 작동하지만 virtualenv 내부에서이 오류를 발생시킵니다.

libjpeg.so.8: cannot open shared object file: No such file or directory

다음은 virtualenv 내부에서 파이썬 -v 인터프리터로 실행 한 에러입니다.

>>> import _imaging
dlopen("/home/ygamretuta/dev/py/django/lib/python2.6/site-packages/PIL/_imaging.so", 2);
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
ImportError: libjpeg.so.8: cannot open shared object file: No such file or directory

다음은 경로입니다.

/home/ygamretuta/dev/py/django/lib/python2.6/site-packages/distribute-0.6.14-py2.6.egg
/home/ygamretuta/dev/py/django/lib/python2.6/site-packages/pip-0.8.1-py2.6.egg
/home/ygamretuta/dev/py/django/lib/python2.6
/home/ygamretuta/dev/py/django/lib/python2.6/plat-linux2
/home/ygamretuta/dev/py/django/lib/python2.6/lib-tk
/home/ygamretuta/dev/py/django/lib/python2.6/lib-old
/home/ygamretuta/dev/py/django/lib/python2.6/lib-dynload
/usr/lib/python2.6
/usr/lib/python2.6/plat-linux2
/usr/lib/python2.6/lib-tk
/home/ygamretuta/dev/py/django/lib/python2.6/site-packages
/home/ygamretuta/dev/py/django/lib/python2.6/site-packages/PIL

나는 우분투 10.10을 사용하고 있으며 이것은 uname-a 출력이다 :

Linux ygam-desktop 2.6.35-28-generic #49-Ubuntu SMP Tue Mar 1 14:40:58 UTC 2011 i686 GNU/Linux

파이썬 2.6을 사용하고 있습니다.

나는 이미 다음 가이드를 따라 갔다.

http://appelfreelance.com/2010/06/libjpeg-pil-snow-leopard-python2-6-_jpeg_resync_to_restart/

http://www.jooncode.com/2010/12/02/python-pil-jpeg-resync-restart-error-imaging-module-solve/

http://djangodays.com/2008/09/03/django-imagefield-validation-error-caused-by-incorrect-pil-installation-on-mac/

해결법

  1. ==============================

    1.여기에서 설명을보십시오 : 왜 파이썬은 sys.path에있는 디렉토리에있는 공유 객체를 찾을 수 없습니까?

    여기에서 설명을보십시오 : 왜 파이썬은 sys.path에있는 디렉토리에있는 공유 객체를 찾을 수 없습니까?

    빠른 수정은 libjpeg.so.8이 들어있는 디렉토리를 /etc/ld.so.conf 파일에 추가 한 다음 ldconfig를 실행하는 것입니다

  2. ==============================

    2.또한 로컬 Python 설치를 수행하는 경우 LD_LIBRARY_PATH 환경 변수를 사용하여 세션 수준에서 동적 연결을 제어 할 수도 있습니다 ::

    또한 로컬 Python 설치를 수행하는 경우 LD_LIBRARY_PATH 환경 변수를 사용하여 세션 수준에서 동적 연결을 제어 할 수도 있습니다 ::

     export LD_LIBRARY_PATH=/srv/plone/python/python-2.6/lib
     python
     import _imaging
     ...
    

    이렇게하면 실수로 OS 자체를 손상시킬 수 없습니다. (발생합니다 : http://opensourcehacker.com/2011/08/31/zend-server-installation-potentially-kills-your-ssh/)

  3. from https://stackoverflow.com/questions/5545580/pil-libjpeg-so-8-cannot-open-shared-object-file-no-such-file-or-directory by cc-by-sa and MIT license