昨日、IDEA*IDEAさんのエントリーで紹介されていたimpressiveを試したくなり、やり始めたのが運のつき。。。
とりあえず、impressiveをDLして動かしてみました。
python impressive.py demo.pdf
すると、python-openglやpython-gameなど足りないモジュールがあるとか。python-openglのモジュールをこちらからDLしてインストールし、python-gameをこちらからDLして、インストールしようとしたら、バージョン不一致でインストーラが先に進まず。。。
少し調べてみると、leopardに最初から入っているpythonは2.5.1で古く?ダメらしい。pythonのサイトからPython 2.6.1 compressed source tarball をDLしてインストールして、再度、impressを実行すると、python-openglやpython-gameなどのモジュールがないとか。そうか。。。バージョンごとにパッケージ管理しているのか。。。でも、どうやってモジュールを追加するんだろう?といまごろ気づく始末。
で、pythonのサイトをよくよく見てみると、leopard向けにMacPythonなるものがあることがわかりました。これなら何とかなるのかと思い入れてみたものの(実は大きな勘違いなのですが)、やはりモジュールがいれられず断念。
また、調べてみるとmacportsでモジュールのパッケージ管理をしてくれるらしい。こりゃいい!しかも、py26-openglやpy26-gameなど必要なライブラリが揃っています。しかも、py26-impressiveも存在していたことがわかりました(実はまだ開発中のようです)。最終的に(macportsが入っているという前提で進めます)、以下のコマンドで無事動かすことができました。デスクトップにimpressiveをDLして解凍したものとして進めます。残骸があちこちに散らばってしまいましたが。。。来週、研究室にいったらtimemachineで戻そう。
cd ~/Desktop/Impressive-0.10.2
sudo port install python26 ← インストール済みの場合は不要です。
sudo port install py26-opengl ← インストール済みの場合は不要です。
sudo port install py26-game ← インストール済みの場合は不要です。
sudo port install Xpdf ← インストール済みの場合は不要です。
python2.6 impressive.py demo.pdf ← ここでプレゼンが始まります。
sudo port install pdftk ← これはなくても動作するようですが、インストールが推奨されているようです。
確かに、カッコいいですね。ぜひ、講義か学会で使ってみたいです。
<余談>
今回のあれこれを通して、easy_installの存在や複数バージョンの同居のさせ方(python_select)など知ることができました。pygameはSDLをベースにしているようなのでゲーム開発環境として使ってみたいです。
実は、上記のコマンドでpython2.6としているのには少し理由があります。どうせなのでpythonで起動できた方がいいと思い、python_selectで切り替えてみたのですが、上記の通り、leopardのpythonやmacpythonなどがあるため、python_selectの変更が有効になりません。
ネットの先人によると、/usr/bin/pythonを/usr/bin/python.ORG(←leopardのpython)などに、また、/usr/local/bin/pythonを/usr/local/bin/python.ORG(←macpython)に手動で変更し、/opt/local/bin/pythonにたどり着くことができることがわかりました。実際にやってみたのですが、実は、これではGoogleAppEngine Launcherが異常終了するようになります。恐らく、他のOSX用にポーティングしたバイナリのツール群は、オリジナルのPython2.5が存在することを期待しているはずなので、GAEのように異常終了してしまうでしょう。ということで、pythonはオリジナルのままとして、macportsのpythonを使いたいときにはpython2.6と入力することにしました。
動かしてみて「このツールどこかで見たな」。。。と思ったら。こちらで既に1月に紹介されていたんですね。このときはスルーしたんですが。。。やはりIDEA*IDEAさんの紹介文が人を惹き付ける魅力があるんですね。素晴らしい!