LoginSignup
9
12

More than 3 years have passed since last update.

AnacondaでGraphvizをインストールする

Last updated at Posted at 2019-09-26

 Graphvizのインストールにつまる声を良く聞く+web上のリファレンスが何故かパスを通すところまでで終わっていることが多いのでまとめておきます。

 結論から言うと、Graphviz自体はPythonパッケージではないので、少なくともWinのAnaconda環境ではPython用ラッパークラスのインストールが必要です。
 しかも、Python用ラッパーには本体が含まれていないのでPython用ラッパーのインストールとは別に本体のインストールが必要です。なんでこんなトリッキーなんだ・・・

手順

 公式から本体をダウンロードして解凍後、任意の場所に解凍したフォルダを置いてパスを通します。Winの場合、環境変数>ユーザー環境変数orシステム環境変数(Pythonのパスが通ってる方)のPATH変数にGraphvizフォルダの下にあるdot.exeのパスの値を追加で貼り付けてください。
 C直下に置いた場合はC:\Users\ユーザー名\graphviz\binあるいはC:\Users\ユーザー名\graphviz2.38\release\binみたいな感じです。
 パスを通したら、pipでpython用ラッパーをインストールします(重要)。

$ pip install graphviz

 その後、Jupyterなどで以下のコードを打ってエラーが返ってこなければ成功です。
 ※公式ドキュメントから引用したソースです。

from graphviz import Digraph

dot = Digraph(comment='The Round Table')
dot

 ついでにグラフ描写までテストしたい人は以下も続けて実行してみてください。


dot.node('A', 'King Arthur')
dot.node('B', 'Sir Bedevere the Wise')
dot.node('L', 'Sir Lancelot the Brave')

dot.edges(['AB', 'AL'])
dot.edge('B', 'L', constraint='false')

print(dot.source)

出力結果1
// The Round Table
digraph {
A [label="King Arthur"]
B [label="Sir Bedevere the Wise"]
L [label="Sir Lancelot the Brave"]
A -> B
A -> L
B -> L [constraint=false]
}

その後、以下のコードを実行して出力結果2のような図が描写されればOKです。

dot.render('test-output/round-table.gv', view=True)

出力結果2
round-table.gv.png

注意点

 Graphviz本体はcondaでもインストールできます。ですがcondaでインストールしようとすると、パスがうまく通りませんでした。これはたぶん環境によると思うので上手くいく人は上手くいくと思います。
 また、英語があまり強くないので断言できませんが、公式からダウンロードできるのは本体のみのようです。
 Python-graphvizはpipでインストールすることを推奨されています。以下の公式ドキュメントやPyPIもご参照ください。
 なお、Python-graphvizの最新バージョンは2019年9月現在0.13ですが、本体の安定バージョンは2.38で、当たり前ですが別物なのでバージョンがずれています。注意しましょう。

参考

9
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
9
12