Document Actions
PILがインストールされてなかった
神様は「寝るな」とささやく
1個前のエントリで関連アイテムとしてイメージをアップしたのだけれども、これがどうも表示されなくてすごく困っていた。アップロードし直したり、表示する大きさを変えてみたり、テンプレートを眺めてみたり、いろいろしたけど直らなくてあきらめかけていたときに、サイト設定画面にてPILがインストールされてないとの指摘があるのに気づいた(「警告:PILが正しくインストールされていません。画像の拡大縮小ができません。」というメッセージが見える)。
あれ、PILはインストールしたはずなのにな、と思ってよくよく調べてみたら、実はPILをインストールしたのはこのZopeインスタンスでは使っていないPython2.3で、このZopeインスタンス用に別にインストールしたPython2.4の方にはインストールしてなかったという罠だった。
ということで、2.4は/usr/local/lib/python2.4にインストールしてあるので、
$ cd /usr/local/lib/python2.4/site-packages
$ wget http://effbot.org/downloads/Imaging-1.1.5.tar.gz
$ tar zxvf Imaging-1.1.5.tar.gz
$ cd Imaging-1.1.5
$ /usr/local/bin/python2.4 setup.py build_ext -i
$ /usr/local/bin/python2.4 selftest.py
----------------------------------------------------------------
PIL 1.1.5 BUILD SUMMARY
----------------------------------------------------------------
*** TKINTER support not available (Tcl/Tk 8.3 libraries needed)
--- JPEG support ok
--- ZLIB (PNG/ZIP) support ok
--- FREETYPE support ok
----------------------------------------------------------------
55 tests passed.
$ /usr/local/bin/python2.4python setup.py install
こんな感じでインストールが成功である(READMEに詳しく書いてあるので問題はないと思うけど、実際にはこれ以前にlibjpegなどのライブラリがシステムにインストールされている必要がある)。
これでリスタートすればサイト設定にてPILがちゃんとインストールされていることが確認できる。
しかし、である。何だかおかしい…。変だ…。この後も依然として画像が表示されないのである。
htmlのソースを見てみると「width="0" height="0"」なんて書いてあるのでサイズに問題がありそうだという見当は付いたものの、COREBlog2のmedia_viewテンプレートとか調べてみても問題がどこにあるかわからない。もうあきらめようかな、と思ったそのとき!
あったああああああ!!!神様は私に徹夜をしろといっているのかどうかは不明だが、いつもこういうタイミングで発見することが多いのは何故だろうか…。
ZMIでplone-instance配下を徘徊していると、portal_atctの中に「Image scales」とかいうタブを発見。しかもここに書いてあるのだ。
Archetypes creates the scales of an image when the image data is uploaded.
If you have installed PIL later or if you have added/removed some scales you
have to create resp. recreate the scales. Please note that you shouldn't
remove a scale from the field definition. If you want to have a scale
removed set its value to(0, 0).
This function recreates the scales of the'image'field of
all portal types listed inimage_typesin the property tab.
Neither other portal types nor other fields are affected. The recreation
process is using a catalog query so make sure your catalog is up to date.
「もしPILを後からインストールしたり、スケールを追加・削除したりしたときは、スケールを再生成しなきゃいかんよ」ということらしい。そしてこの画面の下部には「recreate」というボタンがいらっしゃる。
まさに私の場合はPILをインストールしていない状態で画像をアップロードし、後からPILをインストールしたわけだから、このボタンを押す必要があるわけだ。なのでおもむろにボタンをポチッと押す。
これで無事画像が表示されるようになりました。めでたしめでたし。
- The URL to Trackback this entry is:
- http://nagosui.org/Nagosui/COREBlog2/not-installed-pil/tbping

