[blackbirdpie id=”55654540422295552″]
我々の人生はとても短く、クリックするたびに寿命は縮んでいきます。
日本近海のクロロフィルと海面高度を衛星画像にオーバーレイした画像を、1週間毎5年分ほど集めたかったぼくは、コロラド大学の Web サイト “Colorado Center for Astrodynamics Research Real-Time Altimetry Project” の “Global Near-Real-Time SSH Anomaly/Ocean Color Data Viewer” で、画像を生成することに。ところがぎっちょんこの Web ページでは、結構な数のフォームを埋めて、画像生成に毎回10秒ほど待たされる。それを270回も繰り返すとかなり寿命が縮むし、コロラド大学ヤバい!!!
生き残るために、自動化しましょう。
使うのは Python と mechanize モジュール。なんのことか分からない皆さんのために、環境構築から説明します。ただし、Mac のみ。
Developer Tools
Mac を開発に使うために、コンパイラを含む基本的な道具が必要です。これをインストールするには Developer Tools という、Apple の開発者用パッケージをインストールします。まあ Xcode とかですね。iOS Developer Program や Mac Developer Program という、年額10,800円の開発者契約をすれば、Xcode 4 が無料でダウンロードでき、Mac App Store からは Xcode 4 が600円で買えます。また最近の Mac OS X インストールディスクには Xcode 3 が入っています。あとは無料で Xcode 3 がダウンロードできます。いずれかの方法で Xcode をインストールしましょう。
Xcode は Mac や iOS 向けのソフトウェアを開発するための、統合開発環境というものです。これ1つでなんでもできるように、プロジェクト管理、エディタ、コンパイラ、デバッガ、開発者ドキュメント……という風に、全てがパッケージされています。特に問題なければ Xcode 4 を入れておくのが良いと思います。
さて、これで Developer Tools がインストールされました。つぎは、Python を使う準備をしましょう。ターミナルを開いてください。(ここから先の作業はターミナルのシェルとして初期設定されている “bash” を前提に書かれています。“tcsh” や “zsh” などをお使いの方は、お使いのシェルに合わせて適宜読み替えてください。)
Python
Python はプログラミング言語の1つです。詳しい説明は Wikipedia に譲りますが、まあ色々便利な感じです。ところで Mac OS X には、Python があらかじめ用意されています。ターミナルでコマンドを打ってみましょう。
$ python --version
最初の “$” は、コマンドを打つときのシンボルなので、実際には入力しません。さて、きっとターミナルの画面に
$ python --version Python 2.6.x
などと表示されたことでしょう。
Python の最新バージョンは、現時点で3.2と2.7.1です。2つあるのは、3.xシリーズと2.xシリーズの互換性の問題から、2.xシリーズを使い続けるケースが多く、2.xシリーズのメンテナンスが続いているからです。ということで、2.xシリーズの最新版を使いたい。
homebrew
このあと Python 2.7.1 をインストールするわけですが、今後このようなものをインストールしていくと、何のどのバージョンをインストールしたのか分からなくなる上、依存関係に悩まされることになります。いろいろ大変なので、パッケージ管理システムを利用します。
パッケージ管理システムは、簡単なコマンドをちょちょいのちょいで、そういうのを全てクリアしてくれるものです。その便利さに気付くのはしばらくあとになりますから、とりあえずパッケージ管理システムをインストールします。
Mac 用のパッケージ管理システムは、長く MacPorts というのが主流でした。しかし、ソースコードをダウンロードしてきて、手元の Mac でコンパイルするそのやり方は、時間もかかるし、効率的ではありません。そこでここ最近は、Homebrew という新しいツールが台頭してきています。これはあらかじめコンパイルされたバイナリをダウンロードします。今後はこちらが主流になってきますから、今回は Homebrew を使いましょう。
$ ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"
ターミナルで上記のコマンドを実行してください。(この方法は “tcsh” だと変数を正しく渡せません。一時 “bash” などにシェルを変更するか、または先に “curl” コマンドで “install_hombrew.rb” をダウンロードしてから、それを “ruby” で実行してください。)インストールが実行され、エンターキーを押すように促され、一度パスワードを要求されます。Homebrew のインストールはたったこれだけです。
$ brew --version 0.8
インストールされた Homebrew のバージョンを確認しました。Homebrew のコマンドは “brew” です。0.8が現在の最新版です。
もういちど Python
さあ、これで Python 2.7.1 をインストールします。Homebrew の方針として、基本的にシステムにあらかじめ入っているコマンドは提供されないことになっていますが、Python はちょっと特別です。
$ brew search python mod_python python python3
Homebrew で “python” を検索しました。結果は3つありましたが、怪しいのはただの “python” です。“python3” はきっと Python 3.x ですね。
$ brew info python python 2.7.1 http://www.python.org/ Depends on: readline, sqlite, gdbm ……
ちょっと確かめると、やはり目的の Python 2.7.1 でした。では、インストールします。
$ brew install python
簡単ですね。これで、Python と Python が依存している readline、sqlite、gdbm の全てがインストールされました。
$ python --version Python 2.7.1
こうなっていれば大丈夫です。もしまだバージョンが変わっていなければ、パスを通さなければいけません。とりあえず説明するのが面倒なので、
$ vi ~/.bash_profile
ってやって(“bash” ではないシェルを使っている方は、シェルに合わせた設定ファイルに記述してください)、
export PATH=/usr/local/bin:$PATH
って書いて保存。そしてターミナルのウインドウを一回閉じて、もう一度開きます。さてもう一度。
$ python --version Python 2.7.1
たぶんこれでできたと思う。
pip
Python で mechanize モジュールを使えるようにしたいのですが、このモジュールもパッケージ管理したい。そこで、Python のモジュール管理システムの pip を使えるようにしましょう。
さっきのパスを以下のように少し書き換えます。
export PATH=/usr/local/share/python:/usr/local/bin:$PATH
これで、Python のツールが(簡単に)使えるようになります。そして
$ easy_install pip … $ pip install --upgrade distribute …
こうして、pip が使えるようになりました。さて、これで pip を使って mechanize モジュールを使えるようにします。
$ pip search mechanize mechanize - Stateful programmatic web browsing.
$ pip install mechanize … Successfully installed mechanize Cleaning up...
できました。
エディタ
プログラミング用のエディタを用意しましょう。好きなのを使って良いと思いますけど、お勧めは TextMate です。€39で、ちょっとお値段はりますけど、Mac で使うエディタとしては最高峰ですね。
ほかにも有償、無償問わず、山ほど種類がありますが、CotEditor というのを参考にあげておきます。無料で普通に使えます。
コーディング編に続く
寿命が縮んでいくという発想に脱帽。
python触ろうと思って2週間前くらいに環境整えたところです。
私にとっても発火剤になると思うので、執筆頑張ってください!
応援ありがとうございます。遅くなりましたが、コーディング編ができました。
http://cockscomb.info/survival-from-univ-colorado-coding/