Sphinx + blogckdiagで make html すると”The imagingft C module is not installed”でエラー

Mac OSX 環境でドキュメント作成に Sphinx を使っている。
Sphinx を使ってドキュメント作成するようになってから、使いたいと思っていた blockdiag をインストールしたがライブラリが足りないらしく利用できるまでに試行錯誤したときの設定メモ。

test.rst を作成して make html してみる

test.rst

テストのテスト
=============================
:日付: 2012/11/22

概要
===================
sphinxとblockdiagがちゃんと動くかのテスト。

blockdiagのテスト
===================
月曜日から日曜日、1週間を繰り返す

.. blockdiag::

  diagram {
    月 -> 火 -> 水 -> 木 -> 金 -> 土 -> 日;
    日 -> 月
  }

>make html

writing output... [100%] test
Exception occurred:
File "/Library/Python/2.7/site-packages/PIL-1.1.7-py2.7-macosx-10.8-intel.egg/ImageFont.py", line 34, in __getattr__
raise ImportError("The _imagingft C module is not installed")
ImportError: The _imagingft C module is not installed
The full traceback has been saved in /var/folders/s3/1sdhbw1532lfpqx0c7k4_0n00000gn/T/sphinx-err-NcPB1U.log, if you want to report the issue to the developers.

同様の問題(Mac OS X Lion / homebrew にて python の環境を整える)が起こっているらしく、FREETYPE2 supprt not available が原因らしい。

足りないライブラリをインストール

ライブラリが利用できる状態になっていないため、以下のライブラリを brew からインストールしてやる。
Mac OSX(homebrew)環境ではインストールされる PIL パッケージは blockdiag を利用できず、FREETYPE2 用のパッケージも提供されていないため、スクリプトを作成しインストールする必要がある。

ブログに記載されている内容をもとに freetype2.rb ファイルを作成する。

/user/local/Library/Formula/freetype2.rb ファイルを作成

require 'formula'

class Freetype2 url 'http://sourceforge.net/projects/freetype/files/freetype2/2.4.4/freetype-2.4.4.tar.gz/download'
homepage 'http://freetype.sourceforge.net/index2.html'
md5 '9273efacffb683483e58a9e113efae9f'
version '2.4.4'

# depends_on 'cmake'

def install
system "./configure", "--disable-debug", "--disable-dependency-tracking",
"--prefix=#{prefix}"
# system "cmake . #{std_cmake_parameters}"
system "make install"
end
end

ファイル作成後にターミナルからライブラリをインストール

>sudo brew install freetype2
>sudo brew install libjpeg

libjpegもついでにインストールしておく。

FREETYPE2 をインストールしてからPILをインストール

すでに PIL をインストールしていたので一度アンインストールを実行する。
それから pip を使って PIL を再インストールする。

>sudo pip uninstall PIL
>sudo pip install PIL
--------------------------------------------------------------------
PIL 1.1.7 SETUP SUMMARY
--------------------------------------------------------------------
version 1.1.7
platform darwin 2.7.2 (default, Jun 20 2012, 16:23:33)
[GCC 4.2.1 Compatible Apple Clang 4.0 (tags/Apple/clang-418.0.60)]
--------------------------------------------------------------------
--- TKINTER support available
--- JPEG support available
--- ZLIB (PNG/ZIP) support available
--- FREETYPE2 support available
*** LITTLECMS support not available
--------------------------------------------------------------------
To add a missing option, make sure you have the required
library, and set the corresponding ROOT variable in the
setup.py script.

To check the build, run the selftest.py script.
changing mode of build/scripts-2.7/pilconvert.py from 644 to 755
changing mode of build/scripts-2.7/pildriver.py from 644 to 755
changing mode of build/scripts-2.7/pilfile.py from 644 to 755
changing mode of build/scripts-2.7/pilfont.py from 644 to 755
changing mode of build/scripts-2.7/pilprint.py from 644 to 755

changing mode of /usr/local/bin/pilconvert.py to 755
changing mode of /usr/local/bin/pildriver.py to 755
changing mode of /usr/local/bin/pilfile.py to 755
changing mode of /usr/local/bin/pilfont.py to 755
changing mode of /usr/local/bin/pilprint.py to 755

FREETYPE2 support available になったのでうまくいっているようだ。

最後に easy_install コマンドを使って blockdiag をインストールする。

>sudo easy_install blockdiag

これで設定は完了。

参考にしたサイト

コメントを残す

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です