web-dev-qa-db-ja.com

PIL-libjpeg.so.8:共有オブジェクトファイルを開くことができません:そのようなファイルまたはディレクトリはありません

Libjpeg v8、PIL 1.1.7をコンパイルし、_imagingのインポートはシステムPythonで機能しますが、virtualenv内でこのエラーを吐き出します。

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

これは、virtualenv内でpython-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

私はUbuntu10.10を使用していますが、これはunameです-出力:

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

私はPython 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/

17
yretuta

ここで説明を参照してください: なぜPython sys.pathのディレクトリにある共有オブジェクトを見つけることができないのですか?

簡単な修正方法は、libjpeg.so.8を含むディレクトリを/etc/ld.so.confファイルに追加してから、ldconfigを実行することです。

20
bradley.ayers

また、ローカル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/

5
Mikko Ohtamaa

ソースからライブラリをコンパイルすることもできます: http://www.ijg.org/files/

ただし、Unixライクなシステムを使用している場合は、必ずjpegsrc.v8.tar.gzを使用してください。 jpegsr8.ZipはMSバージョンのようであり、ビルド中にすべての標準フォーマットの問題をスローします。

0
gratio