『オープンソースで学ぶ社会ネットワーク分析』を読むための環境設定(Windows7 64bit)

勉強会やってます。『オープンソースで学ぶ社会ネットワーク分析』という本の読書会です。

社会ネットワーク分析勉強会 #1 : ATND
社会ネットワーク分析勉強会 その2 : ATND

何でもそうですが、最初の環境設定が一番面倒ですよね。
というわけで、Python初心者がこの本のサンプルコードを実行できるようになるための環境設定です。当方の環境はWindows7 Professional 64bitですが、Windowsならだいたい同じかと。

Pythonのインストール

http://www.python.org/download/
から各自の環境に合ったものを落としましょう。Pythonのバージョンには二系統(2.x系と3.x系)あるのですが、現状では2.x系の方が無難です。
なんで、この場合は
Python 2.7.3 Windows X86-64 Installer」
を落としましょう。
落としたファイルを実行するとインストーラが立ち上がるんで、適当にポチポチ押してインスコしてください。
コマンドプロトンプトを起動して「python」と入力します。

C:\Users\hoge>python
Python 2.7.3 (default, Apr 10 2012, 23:24:47) [MSC v.1500 64 bit (AMD64)] on win32
Type "help", "copyright", "credits" or "license" for more information.
>>>

と表示されればインスコ成功です。

easy_installのインストール

これから必要なライブラリのインストールに移るわけですが、その前にPythonのパッケージ管理ツールであるeasy_installがあると便利です。
http://peak.telecommunity.com/dist/ez_setup.py
上のリンクを右クリック→「名前をつけて保存」で適当な場所に保存します。
保存したら再びコマンドプロンプトを立ち上げ、保存場所に移動しましょう。そうしたら

C:\Users\hoge>python ez_setup.py

で実行するとインストールされます。使い方は、コマンドプロンプトから(Pythonインタラクティブシェルじゃないので注意!)

C:\Users\hoge>easy_install (パッケージ名)

と打ち込むだけです。簡単ですね!
(C:\Python27\Scripts にパスを通す必要があったような……パスの設定の仕方は自分で調べてね☆)

IPython, networkxのインストール

easy_installで一発です。それぞれ

C:\Users\hoge>easy_install ipython
C:\Users\hoge>easy_install networkx

でOK

numpy, matplotlibのインストール

上の2つはPythonのみで書かれたライブラリなんで簡単にインスコできますが、numpyとmatplotlibに関してはCで書かれたライブラリなので、インストールする際にはコンパイルする必要があります。
ですがWindowsは糞なのでデフォルトだとコンパイル環境がありません。糞です。氏ねばいいのに。
自前でコンパイルできる環境を整えることもできなくはないんですが、アホみたいに面倒くさいです。幸いにもコンパイル済みのバイナリが提供されてるんでそっちを使いましょう。

matplotlib

matplotlibは公式でWindows用バイナリを提供してます。
http://sourceforge.net/projects/matplotlib/files/matplotlib/
から適当なのを探します。執筆時の最新バージョンはこいつ
http://sourceforge.net/projects/matplotlib/files/matplotlib/matplotlib-1.1.1/matplotlib-1.1.1.win-amd64-py2.7.exe/download
exeなのでダンロードして実行すればインストーラ立ち上がります。

numpy

numpyは残念ながら公式でWindows 64bit用のバイナリを提供してません(32bitはあるんですが)。
なので野良ビルドを使いましょう。
http://www.lfd.uci.edu/~gohlke/pythonlibs/
ここにあります。
numpy-MKL-1.6.2.win-amd64-py2.7.‌exe
が執筆時の最新版です。


以上です。あとはPythonを楽しむだけです。