私はネット上に投稿した多くの解決策を試しましたが、それらは機能しません。
>>> 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")
インストールされたPILは、libfreetypeなしでコンパイルされました。
PILのプリコンパイル済みインストーラー(libfreetypeでコンパイル済み)はここから入手できます(および他の多くのプリコンパイル済みPython Cモジュール):
Ubuntuでは、PILをコンパイルする前にlibfreetype-devをインストールする必要があります。
つまり.
$ Sudo apt-get install libfreetype6-dev
$ Sudo -s
\# pip uninstall pil
\# pip install pil
PS! pudo installをSudoとして実行すると、通常、ほとんどのUbuntuバージョンでパッケージが/ usr/local/libにインストールされます。代わりに、ユーザーが所有するパスの仮想環境(virtualenvまたはvenv)にPilをインストールすることを検討できます。
また、pilの代わりにPillowをインストールすることも検討できますが、これはAPI互換性があると思います: https://python-pillow.org 。
以下はUbuntu 14.04.1 64ビットで私のために働いた:
Sudo apt-get install libfreetype6-dev
次に、virtualenvで:
pip uninstall pillow
pip install --no-cache-dir pillow
centOS 6のソリューション(およびおそらく他のrpmベース):
yum install freetype-devel libjpeg-devel libpng-devel
pip uninstall pil Pillow
pip install pil Pillow
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
Ubuntu 12.10で動作しました:
Sudo pip uninstall PIL
Sudo apt-get install libfreetype6-dev
Sudo apt-get install python-imaging
基本的に、PILをインストールする前にfreetypeをインストールする必要があります。
OS Xで Homebrew を使用している場合は、次のことだけです:
brew remove pil
brew install freetype
brew install pil
OS Xの場合(10.6を実行していますが、他のユーザーでも動作するはずです) this post からのアドバイスを使用して、このエラーを回避することができました。基本的に、いくつかの依存関係をインストールしてから、PILを再インストールする必要があります。
以下は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 support avaliable」と表示されたら、それが機能していることを意味します。
ただし、jpegイメージを編集してもまだ機能しない場合は、pythonパス!!
My python path missed '/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/
その後、最終的に、それは動作します!!
私にとって、これまでに投稿された解決策はどれもうまくいきませんでした。私はここで別の解決策を見つけました: http://codeinthehole.com/writing/how-to-install-pil-on-64-bit-ubuntu-1204/
最初にdevパッケージをインストールします。
$ 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
私のMacでは、ターミナルで次の手順が機能します。
$ brew install freetype
$ Sudo pip uninstall pil
$ Sudo pip install pillow
それがあなたのために働くことを願っています。がんばろう!
Ubuntu 11.10は、マルチアーカイブ仕様(例:/usr/lib/i386-linux-gnu
)に従ってzlibおよびfreetype2ライブラリをインストールします。 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)、-dev
パッケージをインストールし、pkg-config
を使用して正しいパスを取得することをお勧めします。
pkg-config --variable=libdir zlib
pkg-config --variable=libdir freetype2
Pillowのsetup.pyでBarryが提供する別の方法は、dpkg-architecture -qDEB_Host_MULTIARCH
を使用して適切なライブラリディレクトリサフィックスを取得することです。
https://bitbucket.org/effbot/pil-2009-raclette/issue/18 を参照してください
Homebrewを使用してfreetypeをインストールしましたが、/ usr/local/libに次のものがあります。
libfreetype.6.dylib libfreetype.a libfreetype.dylib
しかし、いつものこと:
pip install pil
私にはうまくいかないので、私は使用しました:
pip install http://effbot.org/downloads/Imaging-1.1.6.tar.gz