最近、多くのグラフィックツールがスクリプト言語として採用しているPythonを勉強してました。
とりあえず、文法や言語など一通り調べたので、画像をいじるようなものをと思い検索をかけてみると。。。
PIL/Python Imaging Libraryなる画像を扱うためのモジュールが見つかりました。
一通り触る分にはそんなに難しそうではなかったのでチマチマとサンプルをテストしてると思わぬところではまってしまいました。
最初にはまったのが以下のような部分です。
im = Image.open('test.png')
im.show()
このshow()なるメソッドはlinux版であればxvが起動され、windowsであればpaintやWindows画像とFAXビューアなどが起動されて絵が確認できるといったデバッグなどにも利用される機能なのですが。。。
以下のようなエラーを出してうまく処理されませんでした。
raise ImportError("The _imaging C module is not installed")
次にはまったのが画像の出力です。
読み込みが出来てるので、楽々行えるものと思っていたのですが。。。
im = Image.new('RGB', (100,100),(255,255,255))
と画像データを新規作成するところでエラーとなってしまいました。
こちらも間のエラー情報は違いますが、根本となるのは同様のエラーでした。
raise ImportError("The _imaging C module is not installed")
当初、テストに使用していたのがVista 64bit版でした。Eclipse+PyDev+PILといった構成でテストを行ったのですが、さまざまなエラーに遭遇していまい、困っていました。PILのFAQも読んだのですがぴったり合うエラーケースがありません。
そこで思い当たったのが近くにおいてあったサブPCで動かしたらどうなるんだろ?ってことでした。動かしてみると、嘘のようにあっさり動いてしまいました。(* *?
細かく下までは追ってないのですが、先のPILのFAQにもdllやpydファイルの存在やパスを調べろなどが書かれており、うまく解決できなかったのが原因のようです。
ちなみにこのサブPCのOSはXP Proです。もちろん32bit版。
当然といえば当然なんですが、思わぬところで足元をすくわれて2日ほど(4時間位)進めなかったのがなんか虚しいですな。。Java+Tomcatでも以前色々はまった経験があるんですが、オープンソース環境に限っては保守的な環境があってるんでしょうか。。。
#色々言われるVisualStudioの方が気楽ですね。
でも、、いろいろこんな地雷を回収してかないと~
ちなみに今回の環境は以下のとおりです。
Python 2.5.2
Pydev 1.3.20
Eclipse 3.4
PIL 1.1.6
今後は64bit対応などで改善されることを期待しつつ。。。
めげずに地道に頑張ろうと思う今日この頃です。
#Eclipse+PyDevのコード補完がうまくいかないのがなんとも気になるのだが。。。どっかにいい感じに解説してくれてるとこないだろうか。。。