続・GraphillionをWindowsにインストールしようとしている→できた
追記(2015/1/25)
最新バージョンのGraphillionを使い、https://github.com/takemaru/graphillion/wikiに従えば問題なく無事インストールに成功し、チュートリアルも動作した。めでたしめでたし。
以下、過去の出来事
Linux機が挙動不審なためメイン機(Win7 64bit)に何とかしてGraphillionの環境を整えようとすることに。
開発者さんの日本語解説https://github.com/takemaru/graphillion/wikiを読むと、WindowsではAnacondaを利用するのが推奨されていた。前回は何とか使わないでもいけないかと試行錯誤してみたが、思いきってPythonをアンインストールしてしまい、Anacondaを入れなおすことを決意した。
あとは解説に書いてあるとおり、パスを通してIPythonからコマンドを打ってビルドしてみた。
これで何とかなるか・・・と思ったら、ビルドは警告を出しつつも成功したのだが、テストしてみようとすると途中で「python.exeは動作を停止しました」の文字が・・・
その際のコンソールへの表示は以下のとおり。
In [12]: run setup.py test running test running egg_info writing Graphillion.egg-info\PKG-INFO writing top-level names to Graphillion.egg-info\top_level.txt writing dependency_links to Graphillion.egg-info\dependency_links.txt reading manifest file 'Graphillion.egg-info\SOURCES.txt' reading manifest template 'MANIFEST.in' writing manifest file 'Graphillion.egg-info\SOURCES.txt' running build_ext copying build\lib.win-amd64-2.7\_graphillion.pyd -> test_binary_operators (graphillion.test.graphset.TestGraphSet) ...
ここまで表示されて落ちてしまった。
テストには失敗するものの、これをスキップしてrun setup.py installでインストールするまではエラーも出ず成功した。
さあ、とにかくテストを兼ねてチュートリアルを実行してみようとした。
In [1]: from graphillion import GraphSet as gs In [2]: import graphillion.tutorial as tl In [3]: univ = tl.grid(8,8) In [4]: gs.set_universe(univ)
ここまでは問題なく行ったが、次の
In [5]: tl.draw(univ)
で、以下のエラーメッセージが。
--------------------------------------------------------------------------- KeyError Traceback (most recent call last) <ipython-input-4-574648453ea0> in <module>() ----> 1 tl.draw(univ) C:\Anaconda\lib\site-packages\graphillion-0.96-py2.7-win-amd64.egg\graphillion\t utorial.pyc in draw(g, universe) 59 if not isinstance(universe, nx.Graph): 60 universe = nx.Graph(list(universe)) ---> 61 n = sorted(universe[1].keys())[1] - 1 62 m = universe.number_of_nodes() / n 63 g.add_nodes_from(universe.nodes()) C:\Anaconda\lib\site-packages\networkx\classes\graph.pyc in __getitem__(self, n) 317 {1: {}} 318 """ --> 319 return self.adj[n] 320 321 KeyError: 1
さらに、
In [6]: paths = gs.paths(1,81)
を実行しようとしたら、また「python.exeは動作を停止しました」・・・。
ああもう。