我在服务器上遇到困难,试图让selftest.py成功运行。
我试图让PIL 1.1.7与Python 2.4.4一起使用(版本兼容吗?)
安装如下所示:
# python2.4 setup.py install
running install
running build
running build_py
running build_ext
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform linux2 2.4.6 (#1, Dec 21 2012, 14:54:30)
[GCC 4.4.6 20120305 (Red Hat 4.4.6-4)]
--------------------------------------------------------------------
*** TKINTER support not available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.
To check the build, run the selftest.py script.
running build_scripts
running install_lib
running install_scripts
changing mode of /usr/local/bin/pilconvert.py to 755
changing mode of /usr/local/bin/pilprint.py to 755
changing mode of /usr/local/bin/pilfile.py to 755
changing mode of /usr/local/bin/pilfont.py to 755
changing mode of /usr/local/bin/pildriver.py to 755
creating /usr/local/lib/python2.4/site-packages/PIL.pth
一切似乎都很方便。 Jpeg支持可用,所有人都很高兴。但是selftest.py却是另一回事:
# python2.4 /usr/local/src/Imaging-1.1.7/selftest.py
--------------------------------------------------------------------
PIL 1.1.7 TEST SUMMARY rc/Imaging-1.1.7]# yum install libjpeg62-devel zlib1g-devel libfreetype6-devel liblcms1-develp
--------------------------------------------------------------------
Python modules loaded from ./PIL
Binary modules loaded from ./PIL
--------------------------------------------------------------------
--- PIL CORE support ok
*** TKINTER support not installed
*** JPEG support not installed
*** ZLIB (PNG/ZIP) support not installed
--- FREETYPE2 support ok
*** LITTLECMS support not installed
--------------------------------------------------------------------
Running selftest:
*****************************************************************
Failure in example:
try:
_info(Image.open(os.path.join(ROOT, "Images/lena.jpg")))
except IOError, v:
print v
from line #24 of selftest.testimage
Expected: ('JPEG', 'RGB', (128, 128))
Got: decoder jpeg not available
1 items had failures:
1 of 57 in selftest.testimage
***Test Failed*** 1 failures.
*** 1 tests of 57 failed.
我得到了可怕的Jpeg解码器。
我尝试过各种各样的事情。我将设置更改为指向不起作用的usr / lib64。我在usr / lib中创建了一些符号链接指向libjpeg.so文件,这也没用。我和我们服务器托管地点的技术人员来回走动,他们不理解这个问题,就像在墙上说话一样。我真的被卡住了。我唯一没有尝试的是PiP,但我没有尝试,因为我不知道它是如何工作的。所以我想避免这种情况。
是否存在兼容性问题或设置我不太正确?
感谢您的帮助。
- UPDATE -
这些天再次解决这个问题 我测试了Centos 5& 6 32位并且所有东西都像魅力一样安装,但64位我仍然有问题。
看起来自测试与股票python2.6一起使用但不适用于python2.4。 Pil 1.1.7与2.4.4兼容,但我认为64位的库存在问题。仍在寻找解决方案。
答案 0 :(得分:0)
经过大量测试后,这是不可能的。
我确信它可以完成但是它需要采取的步骤将会非常密集,以至于难以确保服务器/系统的稳定性。
问题实际上在于64位系统。如果python 2.4被编译为32位,Python-Imagining将与python 2.4一起使用。然而,即使你将Python-2.4编译成32位,它也很难用于库,因为Centos中的所有东西都是为64拱构建的。获取这些额外的库非常麻烦,因为repos不包含使其工作所需的结构。这很烦人。围绕圈子打猎是不可行的,并且浪费了试图支持这种跛行系统所花费的时间。并且可能使系统处于危险之中。
不,在64位计算机上安装PIL for Python 2.4是不可能的。
答案 1 :(得分:0)
在我的情况下,我们不支持PIL中的所有库(CentOS 6,x64)
*** TKINTER support not available *** JPEG support not available --- ZLIB (PNG/ZIP) support available *** FREETYPE2 support not available *** LITTLECMS support not available
所以我们使用了以下内容:
yum install freetype freetype-devel libpng libpng-devel libjpeg libjpeg-devel
现在我们有了
*** TKINTER support not available --- JPEG support available --- ZLIB (PNG/ZIP) support available --- FREETYPE2 support available *** LITTLECMS support not available
答案 2 :(得分:0)
3年后,我知道,但这可以正常工作!标准构建过程不会在/usr/lib64
中查找库,但在运行setup.py build
时无法指定库路径,因此您需要在单独的步骤中重建二进制文件:
yum install freetype-devel libpng-devel libjpeg-turbo-devel libzip-devel lcms-devel
pip download PIL
unzip pil-1.1.7.zip
cd pil-1.1.7
./setup.py build
./setup.py build_ext -L /usr/lib64/:/usr/local/lib64 --force
./setup.py install --prefix /usr/local/python27 --force --skip-build
这是在64位的Scientific Linux 6.7上,使用从源代码编译的Python 2.7。