18

编译了 libjpeg v8、PIL 1.1.7 和 import for _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

我正在使用 Ubuntu 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

我正在使用 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/

4

3 回答 3

20

请在此处查看解释:为什么 Python 找不到位于 sys.path 目录中的共享对象?

快速解决方法是将包含的目录添加libjpeg.so.8到您的/etc/ld.so.conf文件中,然后运行ldconfig

于 2011-04-04T23:47:08.663 回答
5

此外,如果您正在执行本地 Python 安装,您还可以使用 LD_LIBRARY_PATH 环境变量控制会话级别的动态链接:

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

这样你就不会破坏你的操作系统本身,即使是意外。(它发生: http: //opensourcehacker.com/2011/08/31/zend-server-installation-potentially-kills-your-ssh/

于 2011-11-25T14:57:39.490 回答
0

从源代码编译库也可以:http ://www.ijg.org/files/

如果您使用的是类 Unix 系统,请确保使用 jpegsrc.v8.tar.gz。jpegsr8.zip 似乎是 MS 版本,并在构建时抛出所有标准格式问题。

于 2019-05-09T18:57:15.910 回答