HYT MachineWorks

やったこととか思いついたことをメモしておくブログです。

python3の環境上でpygraphvizを入れる(windows7 64bit)

前回、linuxでの入れ方をメモしたpygraphvizだけど、windowsでも出来たからメモ。

ただ、1.3.1だけどね・・・

環境

 windows7 64bit

 anaconda python3.5 64bit

 Visual C++ Build Tools 2015 (vc14.0)

landinghub.visualstudio.com

 

pygraphizのページにあるやり方でうまく行かない理由

・python3が64bitなのに、graphvizが32bit
pygraphviz/graphviz.iとpygraphviz/graphviz_wrap.cのコード

の2点です。

2017/06/24追記

もう一点、pygraphvizのファイルはpypiから1.3.1をダウンロードして修正すること下で紹介している修正箇所をまとめてあるgitをクローンしてやると失敗する。

pypi.python.org

 

1.とりあえずGraphviz本体を入れる。

windows | Graphviz - Graph Visualization Software

から、msi形式のファイルをダウンロードしてインストール。
※特に何もかいてないけど32bitです。

2.GitHubにいい人が64bitにビルドしてくれたのがあるのでそれを1で入れたGraphvizと違うフォルダにコピー

github.com

3.さらにいい人が、pygraphviz1.3.1の修正部分をまとめてくれているので修正したpygraphvizを作成する。

2017/06/24 追記

あくまで下のサイトは参考としてpypiのコードを修正すること。そうしないとネットでみんなが失敗しているところでコンパイルに失敗する。

github.com

4.作成したpygraphvizのフォルダでsetup.pyを実行

python setup.py install --include-path=64bitのgraphvizフォルダ/include --library-path=64bitのgraphvizフォルダ/lib

 ここまでで、pygraphvizは入ってるはず。

pip show pygraphviz

 で確認

5.Pathを通す

 32bitと64bitのgraphviz両方のインストールフォルダのbinを環境変数に追加する。

 2017/06/24追記
 環境変数のpathへの追加は、32bit,64bitの順番で追記する。
 そうしないとpygraphviz以外のgraphvizラッパーが動かなくなる。
 (bin\gvplugin_pango.dllが開けませんというエラーが出る)

って感じで入りました。

まじでめんどくさかった。

やってないけど32bitだったら64bitをコピーするのを飛ばせばOKだといいなと思ってる。

 

あとがき

見つけるまでにstackoverflowを読んでたんだけど。みんな同じとこで躓いてて笑った。Unoficialのバイナリを見つけて喜んだらpython3.4だとか、condaから入るかと思ったらpython2.7だとかもう大変でしたよ。

でも出来てよかった。

 

順序が逆になったけどPython-MeCabのインストールも後でまとめておこう

まとめました!

hytmachineworks.hatenablog.com