2013-02-07 24 views
3

我在嘗試使selftest.py成功運行時遇到困難。對於Centos 6 64位PIL selftest.py失敗錯誤:Jpeg解碼器不可用

我試圖讓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

「(版本是否兼容?)」查看[PIL主頁](http://www.pythonware.com/products/pil/),我看到一個專門用於2.4的下載鏈接。這是你安裝的版本嗎?編輯:哎呀,這只是Windows,所以我猜不是。但至少表明它可以在2.4上運行。 – Kevin

回答

0

經過廣泛測試後,它是不可能的。

我確定它可以完成,但它需要的步驟會非常密集,以至於難以確保服務器/系統的穩定性。

問題真的在於64位系統。如果python 2.4編譯爲32位,Python-Imagining可以與python 2.4一起工作。但是,即使你將Python-2.4編譯爲32位,它也很難與庫一起使用,因爲Centos中的所有內容都是爲64 arch構建的。而獲得這些額外的庫很麻煩,因爲回購將不包括你需要的結構來運作。這只是,煩人。在圈子裏狩獵是不可行的,而試圖支持這種跛腳系統的時間被浪費了。並可能使系統處於危險之中。

不,在64位機器上安裝Python 2.4的PIL是不可能的。

0

在我的情況下,我們不得不在PIL(CentOS的6,64)不支持的所有庫

*** 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 
+0

您使用哪個版本的Python來執行PIL Selftest?這就是踢球者,當然你可以讓PIL在64位上工作,但是你能讓PIL使用64位上的python 2.4嗎? – Mallow

+1

對不起,但使用2.4並不適合我們,所以也許這就是 – profuel

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 

這是科學的Linux 6.7 64位,使用從源代碼編譯的Python 2.7。

+0

Good Timing其實,當我有機會的時候,我會試試看。 – Mallow

相關問題