www.cl.ecei.tohoku.ac.jpをやっていてpydotを使う必要があったのでインストールしたけどうまく動いてくれなかった.いじってたら動作するようになったのでそれのメモ
他の環境ではどうなるかわかりません
Pythonのバージョン
Python 3.4.1 :: Anaconda 2.1.0 (x86_64)
インストール(python3系ではpydot3らしい)
pip install pydot3
import pydot
edges=[('root', '日本語'), ('root', 'Latin'), ('root' , 'English'), ('Latin', 'English')]
g = pydot.graph_from_edges(edges)
g.write_jpeg('graph_from_edges_dot.jpg', prog='dot')
まず最初に出るエラーはこれ
AttributeError: 'module' object has no attribute 'graph_from_edges'
import pydotを# import pydot.pydot as pydotに書き換えるとこのエラーは消える
次に出るエラーはこれ
Couldn't import dot_parser, loading of dot files will not be possible.
site-packages/pydot/pydot.pyの32行目のException の中身をprintしてみるとcannot import name 'pydot'らしい
site-packages/pydot/dot_parser.pyの from . import pydotを import pydotに書き換えるとこのエラーは消える
これでもまだ動作しなくてcannot import name 'Upcase'と言われる
Resolved #1 by jthomas8 · Pull Request #2 · log0/pydot3 · GitHub を参考にUpcaseをupcaseTokensに書き換える
これで動作するようになる
site-packages/pydot/dot_parser.pyの方は from . import dot_parserのままでエラー吐かないのよくわからない
あとこのエラーの原因はpydot3の__init__.pyに何も書かれていないからだと思うけど,pythonのmoduleについて詳しくないから落ち着いたら勉強してそっち方向での解決策を探したい