PyGraphvizのインストールをわかりやすく解説【Python】

PyGraphvizのインストールをわかりやすく解説【Python】 プログラミング

「GraphvizをPythonから利用したい」

このことを実現するためには、PyGraphvizが必要となります。
この記事では、PyGraphvizのインストールを解説していきます。

本記事の内容

  • PyGraphvizとは?
  • PyGraphvizのシステム要件
  • PyGraphvizのインストール
  • PyGraphvizの動作確認

それでは、上記に沿って解説していきます。

PyGraphvizとは?

PyGraphvizは、GraphvizのPython用Wrapperです。
別の表現をすると、C言語で開発されたGraphvizをPythonから利用するために必要なライブラリと言えます。

機能としては、Graphvizでできることはある程度できると考えてもよいでしょう。
具体的には、次の機能です。

  • グラフの作成
  • グラフの編集
  • グラフの読み込み
  • グラフの書き込み
  • グラフの描画

また、PyGraphvizにはもう一つ大きな特徴があります。
それは、NetworkXと同じプログラミング・インターフェースを提供します。

つまり、NetworkXと同じようなコーディングでプログラミングができるということです。
NetworkXに関しては、次の記事で解説しています。

このことから、NetworkXでの利用が前提とも言えます。
実際、ネットワーク図を作成するにはNetworkXを利用しますからね。

次に、PyGraphvizのシステム要件を確認しましょう。

PyGraphvizのシステム要件

PyGraphvizの最新バージョンは、1.7となります。

この最新バージョンは、2021年1月2日にリリースされています。
サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

そもそも、Graphvizがクロスプラットフォーム対応ですからね。
そのため、サポートOSに関しては特に気にすることはありません。

ただ、それ以外のシステム要件はいろいろと注意が必要です。
ポイントとしては、以下となります。

  • Pythonバージョン
  • Graphviz
  • Microsoft C++ Build Tools

下記でそれぞれを説明します。

Pythonバージョン

PyGraphvizの最新バージョンでは、サポート対象は以下。

  • Python 3.7
  • Python 3.8
  • Python 3.9

結構、狭いです。
なお、動作確認するのは以下のバージョンとなります。

>python -V
Python 3.9.1

Graphviz

Graphvizがないと何も始まりません。
PyGraphvizは、GraphvizのPython用Wrapperですからね。

そのGraphvizについては、次の記事で説明しています。
インストールの際には、参考にしてください。

なお、Windowsベースで話を進めています。
LinuxやmacOSの場合は、Windowsよりも容易にインストールや設定が可能です。
このことは、今回のPyGraphvizだけに限ったことではありません。

Microsoft C++ Build Tools

Microsoft C++ Build Toolsは、マイクロソフト製のC、C++、C++/CLI用統合開発環境 (IDE) のことです。
C/C++製のプログラムを動かすには必須とも言えます。

このMicrosoft C++ Build Toolsについては、次の記事で詳しくまとめています。
インストールの方法についても解説しています。

PyGraphvizのインストール

最初に、現状のインストール済みパッケージを確認しておきます。

>pip list
Package    Version
---------- -------
pip        21.0.1
setuptools 53.1.0

次にするべきことは、pip自体の更新です。
pipコマンドを使う場合、常に以下のコマンドを実行しておきましょう。

python -m pip install --upgrade pip

では、PyGraphvizのインストールです。
PyGraphvizのインストールは、以下のコマンドとなります。

pip install --global-option=build_ext  --global-option="-IC:\soft\Graphviz\include" --global-option="-LC:\soft\Graphviz\lib" pygraphviz

少し面食らうかもしれません。
いろいろとオプションが付いています。

このオプションは、Graphvizのインストール先を指定しているだけです。
つまり、Graphvizの居場所をPyGraphvizに教えているということになります。

私は、「C:\soft\Graphviz」にGraphvizをインストールしています。
そのため、以下のオプションになります。

  • –global-option=”-IC:\soft\Graphviz\include”
  • –global-option=”-LC:\soft\Graphviz\lib”

この部分は、各自の環境に合わせて変更してください。

インストールは、それほど時間がかからずに終了します。
では、どんなパッケージがインストールされたのかを確認しましょう。

>pip list
Package    Version
---------- -------
pip        21.0.1
pygraphviz 1.7
setuptools 53.1.0

最新版のPyGraphvizがインストールされています。
特に依存するライブラリはないようです。

最後に、PyGraphvizの動作確認を行いましょう。

PyGraphvizの動作確認

動作確認用のサンプルコードです。

import pygraphviz as pgv

A = pgv.AGraph()
# add some edges
A.add_edge(1, 2)
A.add_edge(2, 3)
A.add_edge(1, 3)
A.add_edge(3, 4)
A.add_edge(3, 5)
A.add_edge(3, 6)
A.add_edge(4, 6)
# make a subgraph with rank='same'
B = A.add_subgraph([4, 5, 6], name="s1", rank="same")
B.graph_attr["rank"] = "same"

A.draw("test.png", prog="neato")

上記を実行すると、次のネットワーク図(test.png)が作成されます。

この画像が作成できれば、PyGraphvizが動いていることの確認はOKです。
以上、PyGraphvizの動作確認は終了とします。

今後、NetworkXと連携させてPyGraphvizでグラフを作成してみます。
その際は、記事にしてまとめてみたいと思います。

タイトルとURLをコピーしました