pygraphvizのインストール

pythonで頂点、辺からなる(統計的なグラフとはあまり関係ない)グラフを描くモジュールのインストールと使い方のメモ。NetworkXの導入とWindowsでのpygraphvizのインストールまでやる。

NetworkXのインストール

NetworkXのインストールは簡単で、特にeasy_installが使える環境なら下記コマンドで一発。

easy_install networkx

python3.2まで対応しているが、pygraphvizがpython2(.7?)までなのでできれば2.7で使いたい。
グラフの描画は、matplotlibを使うので別途インストールしておく。
easy_installが使えないならここからDLできる。

pygraphvizはWindowsをサポートしてらっしゃらないので、いくつか配布されているソース等を修正する必要がある。大変参考になった以下のサイトもあわせて見ると良い。
Windows上のPythonでグラフ描画: PyGraphvizインスールで一苦労 - 檜山正幸のキマイラ飼育記
勿論言うまでもなく、それぞれの環境でやることは違うのでこの方法で必ずしも成功するわけではないという断り。

  1. 事前準備
  2. pygraphviz-1.1.tar.gzをDLし、解凍する。
  3. 次にsetup.pyを変更する。
  4. distutils.cfgを変更する。
  5. unixcompiler.pyの変更する。

事前の準備

やることは2つ。コンパイルするのでコンパイラが必要なのとpygraphvizを利用するためにGraphvizが必要なのでそれのインストール。
ここらへんが参考になるだろうと思う。
Windows で MinGW バージョン 20110530 のインストールとテスト実行
注意点は、pathを通すときにスペースがない形にしておくこと。フォルダにスペースを含めないか、後述する方法でスペースをなくす。
コンパイラにこだわりがなければMinGWをインストールしておく。インストール先はできればCやDドライブの直下で、C:\MinGW\...が望ましい。
インストールが済んだらpathを通して置く。
Graphvizもインストールする。こいつのインストール先もCやDドライブ直下が望ましく、もっと言うならばフォルダパスにスペースが含まれない場所が良い。私がインストールしたバージョンでは勝手にpathは通してくれたけど、一応確認してpathを通すようにする。

pygraphvizの入手

pygraphviz-1.1.tar.gzをDLして、適当なフォルダに解凍する。

setup.pyの変更

このサイトにしたがってインストールしたGraphvizのincludeとlibを指定する。このときフォルダパスにスペースが含まれないようにする。スペースがある場合は、コマンドプロンプトから該当フォルダが見える位置で下記のコマンドを実行すればスペースを含まない別名が得られる。

C:\> dir /X
2012/10/05 16:29

PROGRA~1 Program Files 2012/10/01 17:54 Python27

Program Filesの別名が「PROGRA~1」になっているのでこれで全て置き換えてやる。

distutils.cfgの変更(追加)

(Pythonのインストールディレクトリ)\Lib\distutils\distutils.cfgを作成し、以下を入力して保存。

[build]
compiler = mingw32

だめもとでコンパイル

一旦、此処でコンパイルしてみてエラーの結果を見てみる。エラーの結果が、このサイトと同じようなら次のステップに進む。違うなら頑張る。

unixcompiler.pyの変更

(Pythonのインストールディレクトリ)\Lib\distutils\unixcompiler.pyを開いて、このサイトに従って修正する。
ここまでで、コンパイルが完了すればうれしい。しないなら次をチェック。

徹底的にチェック

フォルダパスにスペースが紛れ込んでるとどこかで、だめになる。通したpathや設定したフォルダパスに半角スペースがないかもう一度チェック。だめならあきらめる。