我有这个问题:
No module named _imagingft
我已经安装了PIL,但仍然无法正常工作。 我使用OSX。
我正在尝试为Django Simple Captcha安装此模块。
克里斯托弗的建议对我很好。
详情如下:1.卸载现有的Python Imaging Library
下载并提取源代码版本(从这里http://effbot.org/downloads/Imaging-1.1.6.tar.gz )
安装freetype2库(您需要freetype因为_imagingft处理验证码的TrueType字体)
修改setup.py(在PIL提取的源文件夹中)以匹配freetype2库(例如,在我的VPS上,使用Centos我已经将'FREETYPE_ROOT = None'行更改为'FREETYPE_ROOT ='/ usr / local / include'
构建PIL(python setup.py build),并验证Freetype2支持是否正常
安装PIL(python setup.py build)
安装完成后,你可以验证库的存在,打开python控制台,输入“_imagingft库的导入说明”。
如果您使用Ubuntu,您可以使用以下手册: http : //helloworld.infobart.com/compiling-pil-on-ubuntu-natty
在现有的PIL上安装Pillow解决了我的问题:
$ sudo easy_install PIL $ sudo easy_install Pillow
由于资源的组合(最后得分),我把下面的脚本放在一起,这对我很有用,但是YMMV。 (运行前请仔细检查,有可能会吃掉你的肝脏,刮掉你的猫,并用含铅燃料运行你的车):
#!/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
积分:
看起来像你的PIL安装不支持Freetype。 您可能会缺少一些Freetype库,因此您的PIL安装会跳过对它的支持。
Freetype是处理字体的技术。
我自己也在苦苦挣扎。 解决方法是安装枕头而不是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
我遇到了类似的问题,下面的解决方案为我工作,因此,我想我会张贴它。 希望在尝试众多解决方案的同时帮助别人。
首先,我认为这里的一些解决方案也是可行的,而且我也使用了上面的一些解决方案作为我自己的一个弹簧板。
[我的设置]
我运行在我的开发虚拟环境中。
Mac OS X 10.7
果仁
Django 1.3.1
XCode 4.2.1
我发现freetype2已经包含在你的Mac OS X安装中/ usr / X11 / include中
我不确定它是与XCode一起安装,还是默认情况下,但是从我阅读和理解的情况来看,2010年有些专利问题已经过期,这就是苹果为什么默认不打开字体库的原因。
在使用HomeBrew安装PIL 之前 ,我已经安装了libjpeg 。
$ brew安装libjpeg
最初,我使用pip安装了PIL,但后来卸载它,而是选择安装Pillow
相信我或没有,只是为我工作。
$ pip安装枕头
看起来像Pillow在安装过程输出中为你链接和包含/ usr / X11 / lib的源代码所做的工作,如下所示:
运行setup.py安装Pillow —在/ System / Library / Frameworks中使用框架建立'_imaging'扩展llvm-gcc-4.2 -fno-strict-aliasing -fno-common -dynamic -g -Os -pipe -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
我希望这有助于我的工作。
真诚。
无需修改PIL源代码的解决方案:
export FREETYPE_ROOT=$(pkg-config --variable=libdir freetype2)
#如果pkg-config不可用,则可以更改为{path-to-freetype-library}
pip install https://bitbucket.org/effbot/pil-2009-raclette/get/6a64b3083e35.tar.bz2
) 相关的PIL 问题 。
另一个可能的解决方案,如果你使用自制软件:
brew install freetype brew install Pillow