2013-01-03 142 views
3

我確定這裏有一個重複的東西,但是我看着我正在我的繩索的盡頭。我試圖讓我的Mac OS X 10.8上的PIL工作,以便我可以使用dev_appserver.py來測試成像功能。首先,我在安裝PIL之前遇到問題,直到獲得Homebrew並使用brew install pil安裝它。我認爲brew安裝了所有必要的依賴關係,但是當我嘗試在應用中調整JPEG大小時,它說IOError: decoder jpeg is not available。所以我在網上查找,大部分地方都說我需要(1)卸載PIL,(2)從源代碼安裝libjpeg和(3)重新安裝PIL。所以,我brew uninstall PIL,然後在pil上安裝libjpeg,在mac上安裝Google app引擎Mountain Lion

curl -O www.ijg.org/files/jpegsrc.v7.tar.gz 
tar zxvf jpegsrc.v7.tar.gz 
cd jpeg-7d/ 
./configure 
make 
make install 

終於brew install pil。我重新啓動dev_appserver.py並重新加載本地主機上的頁面,但同樣的錯誤。我測試了PIL從python命令行與

>>> from PIL.Image import Image 
>>> f = open("someimagefile", "rb") 
>>> i = Image() 
>>> i.fromstring(f.read(), decoder_name="jpeg") 
Traceback blah blah blah 
IOError: decoder jpeg not available 

我沒有太多的經驗,從命令行安裝實用程序,所以我可能錯過了一些明顯。再次,抱歉,如果有重複,但正如我所說,我看,並找不到任何似乎工作。

回答

0

PIL在編譯期間未找到libjpeg頭文件。有關如何指定標題(「包含」)位置的信息,請參閱您的構建系統文檔,例如。作爲環境變量。

+0

現在我似乎無法找到的libjpeg。我試圖使用brew多次安裝並從源代碼安裝。我在'/ usr/local/Cellar'中找到了一個名爲'jpeg'的文件夾,我認爲這是一個名爲brew的文件夾。我嘗試將setup.py中的'JPEG_ROOT'設置爲'/ usr/local/Cellar'並運行'python setup.py build'。但是當我進行自測時,顯示它仍然沒有JPEG解碼器。我再次嘗試了/ usr/local/lib /,因爲我在那裏看到了libjpeg.dylib,但仍然沒有工作。再說一次,當談到用UNIX安裝實用程序時,我是一個新手,所以很抱歉,如果我錯過了某些明顯的東西。 – Harrison

2

終於搞定了!感謝@zgoda和這個link。以下是我結束時對那些有同樣問題的人的步驟:

首先確保沒有安裝PIL。從http://www.ijg.org/files/jpegsrc.v8c.tar.gz下載libjpeg,解壓縮它,./configuremake。當我嘗試make install時,找不到存儲手冊頁的目錄,導致安裝失敗。我看了看上面的鏈接上的信息,並決定

cp -r ~/Downloads/jpeg-6d/ /usr/local/jpeg

我想,如果安裝去細比線是沒有必要的。

然後在PIL的setup.py編輯以下行:

JPEG_ROOT = None 

JPEG_ROOT = "/usr/local/jpeg" 

最後:

$ python setup.py build 
$ python setup.py install 
+0

嗨,這非常有幫助。我能否爲其他讀者澄清(因爲我錯過了它):在複製步驟之後,您需要'sudo make install'。這也是[這裏]描述(http://gpiot.com/mac-os-x-lion-install-the-python-image-library-pil/)。我不需要編輯'setup.py'或執行它。 –

相關問題