Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/325.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/257.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python PIL找不到我的";libjpeg";_Python_Python Imaging Library - Fatal编程技术网

Python PIL找不到我的";libjpeg";

Python PIL找不到我的";libjpeg";,python,python-imaging-library,Python,Python Imaging Library,我不能使用PIL,因为它找不到我的libjpeg 首先,我安装了PIL默认值。当我运行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 =

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

首先,我安装了PIL默认值。当我运行
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"
因为当我找到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安装
,并进行了
selftest.py

我还是会犯同样的错误

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

至少有3个头集需要安装。如果您想处理Tiff的问题,还需要1个

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_根 ZLIB_根

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

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

这将迫使您为PIL重新构建所有库并重新安装原始库。

今天我遇到了同样的问题,我找到了解决方案。基本上,它包括删除PIL,通过Fink安装lipjpeg,然后重新安装PIL


我写了一篇一步一步告诉你怎么做。如果你感兴趣的话,看看这个。

我也有同样的问题。在我的情况下,我需要设置:

JPEG_ROOT="/usr/lib64/"
而不是:

JPEG_ROOT="/usr/lib/"
祝你好运。

你也可以尝试使用而不是PIL


枕头是PIL叉子,用于“促进PIL的积极发展”。在版本1.7.0和1.7.1中,他们做了一些更改以支持多拱(请参阅)。

谢谢。如何获取标题?我有CentOS发行版。我确实“找到了libjpeg”,但找不到以结尾的任何内容。Headers他们在CentOS上似乎被称为libjpeg-devel。请使用“软件包管理工具”安装
libjpeg-devel
。请注意,对于其他格式,您可能需要安装其他
-devel
软件包,例如
libpng-devel
。如果我没记错的话,我认为PIL使用zlib表示PNG。但我可能记错了。但它有文档。:)yum安装libjpeg-devel-为您解决了问题!FWIW,这就是我所做的(在一个64位的盒子上):
sudo-yum安装zlib-devel.x86\u 64 libjpeg-devel.x86\u 64 freetype-devel.x86\u 64
然后
sudo-pip安装pil
(这要求您已经安装了pip包管理器。)枕头也有同样的问题;(解决方案
JPEG_ROOT=“/usr/lib64/”
对枕头没有帮助