windows に PyScripter とか twisted とか PyGTK とかインストール

今日のネタはインストールの記録、というかインストール方法の備忘録です。

私のお出かけ用PC、 VAIO type P に Python 本体やらライブラリやらを入れてみました。これで、電車の中でもハックできます。

入れた物は以下のとおり

  • Python 2.6
  • PyScripter
  • Twisted 8.2.0 for Python 2.6
  • PyGTK 2.12

あと、依存関係の問題で一緒にインストールしたものもありますが、それは後述します。

Python

Windows用にバイナリで配布しているPythonには、本家の公式配布品 以外に、 オールインワンで人気(ただしソース非公開)のActivePython とか、 .NET環境を容易に使えるIronPython とかがあるわけですが、私はメインがLinux環境なので、それと同じように使える公式配布品をインストールしました。

というわけで、 http://www.python.org/download/ から、 Windows installer 版の Python 2.6.4 をダウンロードしてインストール。

これは特に詰まることもなく、さっくりとインストール完了。

ここで、Version 2.6 系を選択したのは、単純に、現時点で一番普及しているバージョンだからです。これから勉強するなら 3.0 の方が良いのですが、サードパーティモジュールを多用したい場合はまだ対応が足りない感じですね。一応、今回インストールしたものは現時点で2.6に正式対応しているものばかりです。(今後は3.0のみになるかもしれませんが)

PyScripter

PyScripterWindows 用の IDE統合開発環境)です。私は普段質素なエディタでコードを書くことが多いのですが、たまにはIDEをつかってリハビリしとかないと頭が固くなりそうなので入れてみました。

インストールは http://code.google.com/p/pyscripter/downloads/list から、PyScripter-v1.9.9.7-Setup.exe をダウンロードして実行するだけ。 Ppyc はリモートデバッギング用のツールなので私には不要と思い、インストールしませんでした。

まだ、インストール後に軽く使ってみただけですが、なかなか良くできてますね、これ。タブキーの挙動がしっかりPython流になっていて、以前vimで設定したような挙動をデフォルトでしてくれます。開き括弧を入力したら勝手に閉じ括弧を補完する機能は好みじゃないのですが、設定(Auto-complete brackets)で無効にできたので問題無しです。また、変数ウォッチを見ながらステップ実行できるのはグラフィカルなデバッガの強みですね。

初期設定の時点で十分使いやすい設定になっているので、あんまりいじるところはありませんでした。とりあえず私は、先ほどの括弧補完の設定と、デフォルトのエンコーディングANSIUTF-8と設定しただけで使っています。

一方、使ってみて残念だったところは、変数ウォッチの表示でUnicode文字列を"標準どおり"(つまり u"u\1234u\uabcd"といった形式)でしか表示してくれないところと、デバッグ実行中はIDE全体が操作をうけつけなくなってしまう所ぐらいですね。たいしたコードじゃないのにしばらく固まってしまうこともしばしばなのはちょっと困ります。Ppycを使えば改善するんでしょうか? そのうち試してみましょう。

Twisted

Twisted は、ネットワークやUIイベントなどの非同期処理のコードを手軽に書くためのフレームワークです。「引数を与えたらひたすらそれを処理して終了する」ようなプログラムでない限り、Twistedを使うことを考慮したほうが良いとさえ言えるぐらいに汎用性の高いフレームワークなのですが、Python本家に取り込まれていないサードパーティのモジュールなので、別途インストールする必要があります。

インストールは、 http://twistedmatrix.com/trac/wiki/Downloads から、 Twisted_NoDocs-8.2.0.win32-py2.6.exe をダウンロードして実行するだけ。

……と、いいたいところですが、win32api モジュールが無いと動作しないようなので、それも http://sourceforge.net/projects/pywin32/files/ から pywin32-214.win32-py2.6.exe を拾ってきてインストールします。

SSLを使う(つまりtwistedでhttpsのURLをアクセスしたりとか)なら、Twistedのダウンロードページに一緒においてある PyOpenSSL も必要でしょう。(私は入れませんでしたが)

もしかしたら他にも必要なものがあるかもしれませんが、とりあえず簡単なサンプルをいくつか動かしてみて動いたので良しとします。

PyGTK…… の前に GTK+

PyGTK は、Linux で広く使用されている UI Tool kit である GTK+Python で使うためのバインディングです。Windows上でもちゃんと動作します。GTKを使っていて、Windowsでもそれなりに有名なアプリとしてはGimp が挙げられます(というか、GTKはもともと Gimp 用として作成されたライブラリです)。

あと、あまり知られていませんが、マルチインスタントメッセンジャーの pidgin(旧名:Gaim)GTKを使っています。この、Pidgin プロジェクトは、開発の副産物として、Windows用の GTK ランタイムのインストーラを単体で作成&配布しています。 PyGTK経由でGTKを使う場合はこのランタイムさえインストールされていれば十分なので、持っていない場合はまず先にインストールしておきます。(私は Pidgin を使っていたので、すでにインストール済みでした。)

もちろん、PyGTK公式サイトで推薦されているとおり、普通のGtkビルド環境を構築してもかまいませんが、PidginやGimpのようなGTKアプリを使う場合はそのランタイムを流用しておいたほうが問題が起きにくいと思います。

Pidgin プロジェクトの GTK ランタイムのダウンロードページはこちら: http://sourceforge.net/projects/pidgin/files/GTK%2B%20for%20Windows/

インストールするバージョンは、PyGTKのバージョンと合わせておくのが無難です。(とはいえ、私はPidginに同梱されていた 2.14 をそのまま使用しましたが)


あと、1点、環境変数については、注意が必要です。

GTKを使うプログラムを起動する際は、PATH環境変数GTKのバイナリをインストールした場所(Pidginのインストーラのデフォルトなら C:\Program Files\Common Files\GTK\2.0\bin )が追加されている必要があります。一番簡単なのは、「システムのプロパティ」→「詳細設定」→「環境変数」のダイアログで設定してしまうことでしょう。もし、それで何かのプログラムの動作が変になるようなら、システムの環境変数の設定は元に戻して、代わりに、環境変数を調整しつつPythonを起動するBATファイルでも作ればよいかと思います。たぶん。

PyGTK

で、本題、PyGTKの方ですが、こちらは3つのパッケージに分かれています。

ダウンロードページ http://www.pygtk.org/downloads.html から以下の3つをダウンロードして順にインストール。

  • PyCairo (pycairo-1.4.12-2.win32-py2.6.exe)
  • PyGObject (pygobject-2.14.2-2.win32-py2.6.exe)
  • PyGTK (pygtk-2.12.1-3.win32-py2.6.exe)

動作確認は、チュートリアル http://www.pygtk.org//tutorial.html の適当なサンプルを持ってきて動かせば十分でしょう。

Twisted のドキュメントGUI ツールキットとの統合の節を読んで、twisted対応に書き換えてやるのもありですね。

雑記

というわけで、一通りPythonの開発環境がそろいました。

ついでに、家庭内サーバーにWebDAV + Subversionの設定をしてソース置き場を作り、TortoisSVNでアクセスできるようにしたので、モバイルハック環境が一気に立ち上がった感じですね。

これで、TypePだけ持って年末に帰省してもたっぷりPythonと戯れることができます。(←これが今回の主目的)