没有名为_imagingft的模块

时间:2011-02-13 15:28:22

标签: python django

我有这个问题:

No module named _imagingft

我已经安装了PIL,但它仍然无效。我使用OSX。

我正在尝试为Django Simple Captcha安装此模块。

8 个答案:

答案 0 :(得分:13)

在现有PIL上安装Pillow解决了我的问题:

$ sudo easy_install PIL
$ sudo easy_install Pillow

答案 1 :(得分:5)

克里斯托弗的建议对我很有用。

详细信息如下: 1.卸载现有的Python Imaging Library

  1. 下载并解压缩源版本(从此处开始) http://effbot.org/downloads/Imaging-1.1.6.tar.gz

  2. 安装freetype2库(需要freetype原因_imagingft 处理验证码的TrueType字体

  3. 修改setup.py(在PIL提取的源文件夹中)以匹配 freetype2库(例如在我的带有Centos的VPS上我改变了行'FREETYPE_ROOT = None' 到'FREETYPE_ROOT =“/ usr / local / include”')

  4. 构建PIL(python setup.py构建)并验证Freetype2是否支持 没关系

  5. 安装PIL(python setup.py build)

  6. 安装完成后,您可以验证库的存在,打开 python控制台并输入_imagingft的导入说明 图书馆'。

  7. 如果您使用ubuntu,您可以使用以下手册: http://helloworld.infobart.com/compiling-pil-on-ubuntu-natty

答案 2 :(得分:2)

感谢资源的组合(最后的功劳)我把以下脚本放在一起,这对我来说很有用,但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

现金:

答案 3 :(得分:1)

看起来您的PIL安装不支持Freetype。您可能缺少一些Freetype库,因此您的PIL安装跳过了对它的支持。

Freetype是处理字体的技术。

答案 4 :(得分:1)

我自己正在努力解决这个问题。解决方案是安装Pillow而不是PIL。

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

  

Pillow是Alex Clark和Contributors的“友好”PIL分支。 PIL   是Fredrik Lundh和贡献者的Python成像库。

     

PIL与setuptools不兼容。 ...此外,PIL目前每两年一次   (或更高)发布时间表太少,无法容纳   报告的问题数量和频率都很高。

Windows的二进制分发版还包括_imagingft。您不再需要从源代码构建自己的。

从以下网址下载安装程序包:https://pypi.python.org/pypi/Pillow/2.0.0#downloads

或者只需使用pip install pillow

进行安装即可

答案 5 :(得分:0)

我遇到了类似的问题,以下解决方案对我有用,因此,我想我会发布它。希望在尝试众多解决方案时帮助其他人。

首先,我认为这里的一些解决方案也可行,我确实使用了上述一些解决方案作为我自己的弹簧板。

[我的设置]
我在开发虚拟环境中运行。

  

Mac OS X 10.7
  点子
  Django 1.3.1
  XCode 4.2.1

我发现 / usr / X11 / include

中已安装 freetype2 以及Mac OS X安装

我不确定它是否与XCode一起安装,或者只是默认使用,但是根据我的阅读和理解,有一些专利问题在2010年到期,这就是为什么Apple没有'开启 '默认情况下是字体库。

我已经安装 libjpeg 之前来使用HomeBrew安装PIL。

  

$ brew install libjpeg

最初,我使用pip安装了PIL,但后来又卸载了它,而是选择安装 Pillow

信不信由你,这对我有用。

  

$ pip install Pillow

看起来像Pillow为你做了毛茸茸的工作,你可以链接并包含来自/ usr / X11 / lib的源代码,如下面的安装程序输出所示:

  

为Pillow运行setup.py安装       ---使用/ 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

我希望这有用,因为它对我有用 此致。

答案 6 :(得分:0)

无需修改PIL源代码的解决方案:

  1. 安装freetype2-dev软件包
  2. export FREETYPE_ROOT=$(pkg-config --variable=libdir freetype2)#如果pkg-config不可用,您可以更改为{path-to-freetype-library}
  3. 安装最新的PIL版本(pip install https://bitbucket.org/effbot/pil-2009-raclette/get/6a64b3083e35.tar.bz2
  4. 相关PIL issue

答案 7 :(得分:0)

另一种可能的解决方案,如果您使用的是Homebrew:

brew install freetype
brew install Pillow