python image模块需要安装吗_image - Python:未安装_imagingft C模块

当尝试使用Python的PIL库时,出现ImportError: The _imagingft C module is not installed的错误。解决方案通常涉及到安装libfreetype-dev库,如在Ubuntu上使用`sudo apt-get install libfreetype6-dev`,或者在其他系统上安装相应的依赖。在某些情况下,可能需要卸载并重新安装PIL或 Pillow。
摘要由CSDN通过智能技术生成

image - Python:未安装_imagingft C模块

我已经尝试了很多在网上发布的解决方案,它们不起作用。

>>> import _imaging

>>> _imaging.__file__

'C:\\python26\\lib\\site-packages\\PIL\\_imaging.pyd'

>>>

所以系统可以找到_imaging但仍然不能使用truetype字体

from PIL import Image, ImageDraw, ImageFilter, ImageFont

im = Image.new('RGB', (300,300), 'white')

draw = ImageDraw.Draw(im)

font = ImageFont.truetype('arial.ttf', 14)

draw.text((100,100), 'test text', font = font)

引发此错误:

ImportError: The _imagingft C module is not installed

File "D:\Python26\Lib\site-packages\PIL\ImageFont.py", line 34, in __getattr__

raise ImportError("The _imagingft C module is not installed")

14个解决方案

71 votes

在Ubuntu上,您需要在编译PIL之前安装libfreetype-dev。

$ sudo apt-get install libfreetype6-dev

$ sudo -s

\# pip uninstall pil

\# pip install pil

PS! 运行pip install作为sudo通常会在大多数Ubuntu版本上将软件包安装到/ usr / local / lib。 您可以考虑在用户拥有的路径中将Pil安装在虚拟环境(virtualenv或venv)中。

您也可以考虑安装枕头而不是pil,我认为它与API兼容:[https://python-pillow.org。]

Sindre Myren answered 2019-06-13T20:31:33Z

55 votes

您安装的PIL是在没有libfreetype的情况下编译的。

您可以在这里获得PIL的预编译安装程序(使用libfreetype编译)(以及许多其他预编译的Python C模块):

[http://www.lfd.uci.edu/~gohlke/pythonlibs/]

Imran answered 2019-06-13T20:30:53Z

41 votes

以下在Ubuntu 14.04.1 64位上为我工作:

sudo apt-get install libfreetype6-dev

然后,在virtualenv:

pip uninstall pillow

pip install --no-cache-dir pillow

Rafay answered 2019-06-13T20:32:02Z

16 votes

CentOS 6的解决方案(可能还有其他基于rpm的):

yum install freetype-devel libjpeg-devel libpng-devel

pip uninstall pil Pillow

pip install pil Pillow

fsw answered 2019-06-13T20:32:26Z

14 votes

在OS X中,我这样做是为了解决问题:

pip uninstall PIL

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 install PIL

suzanshakya answered 2019-06-13T20:32:49Z

12 votes

基本上,您需要在安装PIL之前安装freetype。

如果你在OS X上使用Homebrew,那只需要:

brew remove pil

brew install freetype

brew install pil

Roshambo answered 2019-06-13T20:33:20Z

12 votes

为Ubuntu 12.10工作:

sudo pip uninstall PIL

sudo apt-get install libfreetype6-dev

sudo apt-get install python-imaging

DmitrySandalov answered 2019-06-13T20:33:43Z

2 votes

对于OS X(我运行10.6但应该适用于其他人)我能够使用本文中的建议解决此错误。 基本上你需要安装几个依赖项然后重新安装PIL。

Bovard answered 2019-06-13T20:34:07Z

2 votes

对我来说,迄今为止发布的解决方案都没有奏效。 我在这里找到了另一个解决方案:[http://codeinthehole.com/writing/how-to-install-pil-on-64-bit-ubuntu-1204/]

首先安装开发包:

$ sudo apt-get install python-dev libjpeg-dev libfreetype6-dev zlib1g-dev

然后创建一些符号链接:

$ sudo ln -s /usr/lib/`uname -i`-linux-gnu/libfreetype.so /usr/lib/

$ sudo ln -s /usr/lib/`uname -i`-linux-gnu/libjpeg.so /usr/lib/

$ sudo ln -s /usr/lib/`uname -i`-linux-gnu/libz.so /usr/lib/

之后PIL应该编译得很好:

$ pip install PIL --upgrade

minzwurst answered 2019-06-13T20:34:50Z

2 votes

以下是关于ubuntu 12.04的工作:

pip uninstall PIL

apt-get install libjpeg-dev

apt-get install libfreetype6-dev

apt-get install zlib1g-dev

apt-get install libpng12-dev

pip install PIL --upgrade

当你看到“ - JPEG支持可用”,这意味着它的工作原理。

但是,如果在编辑jpeg图像时仍然无效,请检查python路径!

我的python路径错过了'/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/',所以我编辑~/.bashrc将以下代码添加到此文件中:

export PYTHONPATH=$PYTHONPATH:/usr/local/lib/python2.7/dist-packages/PIL-1.1.7-py2.7-linux-x86_64.egg/

最后,它的确有效!

Jason Huang answered 2019-06-13T20:35:26Z

1 votes

我用homebrew来安装freetype,我在/ usr / local / lib中有以下内容:

libfreetype.6.dyliblibfreetype.alibfreetype.dylib

但平时:

pip安装pil

对我不起作用,所以我用过:

pip install [http://effbot.org/downloads/Imaging-1.1.6.tar.gz]

tc_geophysics answered 2019-06-13T20:36:23Z

1 votes

在我的Mac中,终端的以下步骤有效:

$ brew install freetype

$ sudo pip uninstall pil

$ sudo pip install pillow

希望它适合你。 祝好运!

Yun.Lu answered 2019-06-13T20:36:54Z

0 votes

Ubuntu 11.10按照多用户规范安装zlib和freetype2库(例如dpkg-architecture -qDEB_HOST_MULTIARCH)。 您可以使用PIL设置环境变量,以便它们可以找到它们。 但是它仅适用于pil-117标签之外的PIL版本。

export PIL_SETUP_ZLIB_ROOT=/usr/lib/i386-linux-gnu

export PIL_SETUP_FREETYPE_ROOT=/usr/lib/i386-linux-gnu

pip install -U PIL

由于您的多拱路径可能不同(x86-64),因此最好安装dpkg-architecture -qDEB_HOST_MULTIARCH软件包并使用pkg-config来检索正确的路径。

pkg-config --variable=libdir zlib

pkg-config --variable=libdir freetype2

Barry在Pillow的setup.py上给出的另一种方法是使用dpkg-architecture -qDEB_HOST_MULTIARCH来获取正确的库目录后缀。

见[https://bitbucket.org/effbot/pil-2009-raclette/issue/18]

milton answered 2019-06-13T20:37:39Z

-1 votes

【解决了】

在我的ubuntu12.04中,在使用apt-get安装python-imaging后,它可以工作。

joest answered 2019-06-13T20:38:10Z

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值