Python PIL找不到我的“libjpeg”

2024-04-20 13:29:43 发布

您现在位置:Python中文网/ 问答频道 /正文

我不能使用PIL,因为它找不到我的libjpeg!

首先,我安装了PIL default。当我运行selftest.py时,它给了我:

IOError: decoder jpeg not available 1
items had failures:    1 of  57 in
selftest.testimage
***Test Failed*** 1 failures.
*** 1 tests of 57 failed.

然后,我按照联机说明将PIL的setup.py更改为

JPEG_ROOT = "/usr/lib"

因为当我locate libjpeg时,我得到的是:

locate libjpeg 
/usr/lib/libjpeg.so.62
/usr/lib/libjpeg.so.62.0.0
/usr/lib64/libjpeg.so.62
/usr/lib64/libjpeg.so.62.0.0
/usr/share/doc/libjpeg-6b
/usr/share/doc/libjpeg-6b/README
/usr/share/doc/libjpeg-6b/usage.doc
/var/cache/yum/base/packages/libjpeg-6b-37.i386.rpm
/var/cache/yum/base/packages/libjpeg-6b-37.x86_64.rpm

所以,我又跑了setup.py install一次,然后做了selftest.py。 我还是犯了同样的错误!


Tags: ofpysharecachedocpilvarlib
3条回答

您至少要安装3个标头集。如果你想处理蒂芙的

freetype、libjpeg、zlib所有这些都将在CentOS上的以下包中:

==32位: zlib-devel.i386号 libjpeg-devel.i386文件 freetype-devel.i386型

==64位: zlib-devel.x86_64版 libjpeg-devel.x86_64文件 freetype-devel.x86_64版本

如前所述,您需要在setup.py文件中编辑以下变量:

自由类型根 JPEG根 兹利布根

根据您的平台将这些值设置为/usr/lib或/usr/lib64。一旦完成,你很可能会想跑

python setup.py build --force
python setup.py install

这将强制为PIL重新构建所有lib并重新安装它们。

我也有同样的问题。就我而言,我需要设置:

JPEG_ROOT="/usr/lib64/"

而不是:

JPEG_ROOT="/usr/lib/"

祝你好运。

您还需要libjpeg头,而不仅仅是库本身。这些包通常被称为以header或dev结尾的东西,这取决于您拥有的发行版。

相关问题 更多 >