2011-02-13 62 views

回答

4

克里斯托弗的建議對我很好。

詳細情況如下: 1.卸載現有的Python圖像庫

  1. 下載並解壓縮源版本(從這裏 http://effbot.org/downloads/Imaging-1.1.6.tar.gz

  2. 安裝對FreeType2庫(你需要FreeType的原因_imagingft 手柄用於驗證碼的TrueType字體)

  3. 將setup.py(在PIL提取的源文件夾中)修改爲匹配 freetype2庫(例如在我的VPS在CentOS我變線 'FREETYPE_ROOT =無' 爲 'FREETYPE_ROOT = 「在/ usr /本地/包括」')

  4. 建立PIL(Python的setup.py版本),並確認對FreeType2支持 是確定

  5. 安裝PIL(Python的setup.py版本)

  6. 安裝,你可以驗證庫的存在,開盤 蟒蛇控制檯,然後輸入 '進口指令_imagingft 庫' 之後。

如果您使用Ubuntu,你可以使用下面的手冊: http://helloworld.infobart.com/compiling-pil-on-ubuntu-natty

1

看起來像您的PIL安裝不支持Freetype。您可能會缺少一些Freetype庫,因此您的PIL安裝會跳過對它的支持。

Freetype是處理字體的技術。

+0

心中已經安裝tryed安裝此[Freetype的(http://www.satzbau-gmbh.de/staff/abel/ft2 /ft2-0.3.tar.gz)但仍然沒有工作.. – beddamadre 2011-02-13 18:44:35

+0

我的最後回覆:[1](http://dpaste.com/412999/)和[2](http://dpaste.com/413003/ ) – beddamadre 2011-02-13 19:16:24

2

由於資源的組合(信用末)我已經把下面的腳本,這對我的作品,但情況因人而異。 (請在運行前仔細檢查它,它可能有錯誤是會吃你的肝臟,剃你的貓,和含鉛汽油驅動汽車。):

#!/bin/bash 

pip-2.6 uninstall PIL 
# Just in case there's a virtualenv someplace: 
pip uninstall PIL 
# And forcibly clean up PIL as well 
rm -rf /Library/Python/2.6/site-packages/PIL* 

if [ ! -d "/usr/X11/include/freetype2" ];then 
    echo "You need to have XCode installed with the freetype libraries" 
    exit 1 
fi 

# Ok we're good to install ... 
# Freetype is installed by XCode, so let's link to that for PIL's 
# setup.py to know where to find things 
ln -s /usr/X11/include/freetype2 /usr/local/include/ 
ln -s /usr/X11/include/ft2build.h /usr/local/include/ 
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/ 
ln -s /usr/X11/lib/libfreetype.6.dylib /usr/local/lib/libfreetype.dylib 

pip-2.6 install PIL 
# OR 
# pip-2.6 install http://effbot.org/downloads/Imaging-1.1.7.tar.gz 

現金

0

我遇到了類似的問題,下面的解決方案爲我工作,因此,我想我會發布它。希望它能在嘗試衆多解決方案時幫助其他人。

首先,我認爲這裏的一些解決方案也可以工作,而且我確實使用了上面的一些解決方案作爲我自己的彈簧板。

[My Setup]
我在我的開發虛擬環境中運行。

的Mac OS X 10.7
PIP
的Django 1.3.1
的XCode 4.2.1

我發現對FreeType2已經包含在你的Mac OS X安裝在的/ usr/X11 /包括

我不確定它是與XCode一起安裝的還是默認來的,但是來回米我讀和理解有一些專利問題在2010年到期,這就是爲什麼蘋果不'打開'字體庫默認情況下。

我已經安裝了libjpeg之前使用HomeBrew安裝PIL。

$釀造安裝的libjpeg

起初,我安裝PIL使用PIP,但後來卸載它,而是選擇安裝Pillow

相信我與否,這只是爲我工作。

$ PIP安裝枕頭

好像枕頭爲你做鏈接,幷包括在/ usr/X11/lib中源作爲是在安裝過程輸出下面顯示的毛茸茸的工作:

運行的setup.py安裝枕頭 ---使用框架在/系統/資源庫/框架 建設 '_imaging' 延伸 LLVM-GCC-4.2 -fno嚴格走樣-fno-共同-dynamic - g -Os -pi pe -fno-common -fno-strict-aliasing -fwrapv -mno-fused-madd -DENABLE_DTRACE -DMACOSX -DNDEBUG -Wall -Wstrict-prototypes -Wshorten -64-to-32 -DNDEBUG -g -fwrapv -Os -Wall- Wstrict-prototypes -DENABLE_DTRACE -arch i386 -arch x86_64 -pipe -DHAVE_LIBJPEG -DHAVE_LIBZ -I/System/Library/Frameworks/Tcl.framework/Headers -I/System/Library/Frameworks/Tk.framework/Headers -I/usr/x11/include/freetype2 -IlibImaging -I/opt/local/include -I/usr/x11/include -I/Users //。virtualenvs/canoe_django_env/include -I/usr/local/include -I/usr/include -I/System/Library/Frameworks/Python.framework/Versions/2.7/include/python2.7 -c _imaging.c -o build/temp.macosx-10.7-intel-2.7/_imaging.o

我希望這有助於它爲我工作。
此致。

13

在現有的PIL安裝枕解決了這個問題對我來說:

$ sudo easy_install PIL 
$ sudo easy_install Pillow 
0

解決方案,而無需修改PIL源代碼:

  1. 安裝對FreeType2-dev軟件包
  2. export FREETYPE_ROOT=$(pkg-config --variable=libdir freetype2)#你可以改變{path-to-freetype-library}如果pkg-config不可用
  3. 安裝最新的PIL版本(pip install https://bitbucket.org/effbot/pil-2009-raclette/get/6a64b3083e35.tar.bz2

相關PIL issue

0

另一種可能的解決辦法,如果你使用自制:

brew install freetype 
brew install Pillow 
1

我用這個自己奮鬥。解決方案是安裝Pillow而不是PIL。

摘錄https://pypi.python.org/pypi/Pillow/2.0.0

枕頭是由亞歷克斯·克拉克和貢獻者 「友好」 PIL叉。 PIL 是Fredrik Lundh和Contributors的Python影像庫。

PIL與setuptools不兼容。 ...此外,PIL目前每兩年發佈一次(或更多)發佈時間表太少,以至於無法容納所報告的大量問題和頻率問題。

Windows的二進制發行版還包含_imagingft。你不再需要從來源創建你自己的。

從下載安裝包:https://pypi.python.org/pypi/Pillow/2.0.0#downloads

或者乾脆pip install pillow