【Ubuntu】PyGraphvizのインストール

プログラミング

「Pythonで綺麗なグラフを作成したい」
「GraphvizをPythonから操作したい」
「Ubuntuでも綺麗なグラフを出力したい」

このような場合には、PyGraphvizがオススメです。
この記事では、UbuntuにPyGraphvizをインストールする方法を解説しています。

本記事の内容

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

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

PyGraphvizとは?

PyGraphvizは、GraphvizのPython用Wrapperです。
C言語で開発されたGraphvizをPythonから利用するために必要なモノになります。

では、次のことが可能です。

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

これと同じことが、PyGraphvizでもできると考えてよいでしょう。
そして、PyGraphvizを使うと綺麗なグラフをPythonで処理できます。

どうしてもMatplotlibだけだと、次のようなダサいグラフになってしまいます。

それに対して、PyGraphvizを使えば綺麗なグラフを作成できます。
この場合は、綺麗というより見やすいですね。

以上、PyGraphvizについて説明しました。
次は、PyGraphvizのシステム要件を説明します。

PyGraphvizのシステム要件

現時点(2022年4月)でのPyGraphvizの最新バージョンは、1.9となります。
この最新バージョンは、2022年2月10日にリリースされています。

サポートOSに関しては、以下を含むクロスプラットフォーム対応です。

  • Windows
  • macOS
  • Linux

OS自体に関しては、特に注意すべき点はありません。
しかし、PyGraphvizでは以下のシステム要件において注意が必要です。

  • Python
  • Graphviz
  • C/C++ Compiler

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

Python

サポート対象となるPythonのバージョンは、以下となっています。

  • Python 3.8
  • Python 3.9
  • Python 3.10

凄いですね、古いバージョンの切り捨て方が。
以下は、Python公式開発サイクルです。

バージョンリリース日サポート期限
3.62016年12月23日2021年12月23日
3.72018年6月27日2023年6月27日
3.82019年10月14日2024年10月
3.92020年10月5日2025年10月
3.102021年10月4日2026年10月

公式サイクルによると、Python 3.7以降がサポート対象となるべきです。
しかし、PyGraphvizはすでにPython 3.7も切り捨てています。

これは、PyGraphvizを使う上では注意すべきですね。

Graphviz

Graphvizのバージョンも指定されています。
Graphviz 2.42以降が必要です。

UbuntuにおけるGraphvizのインストールについては、次の記事で解説しています。

Ubuntu 18.04では、Graphviz 2.42以降を簡単にインストールできないかもしれません。
その場合は、ソースコードをビルドしてインストールしましょう。

あと、Graphvizの開発用パッケージも必要となります。
開発用パッケージのインストールは、次のコマンドで行います。

sudo apt-get install -y graphviz-dev

C/C++ Compiler

この部分が、OS毎に大きく異なります。
ただ、Linuxだとそれほど複雑ではありません。

UbuntuへのC/C++ Compilerのインストールは、次の記事で解説しています。

まとめ

PyGraphvizのシステム要件は、複雑な部類に入ります。
でも、順を追って対応していけば大丈夫です。

以上、PyGraphvizのシステム要件を説明しました。
次は、PyGraphvizのインストールを説明します。

PyGraphvizのインストール

検証は、次のバージョンのPythonで行います。

$ python -V
Python 3.10.2

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

$ pip list
Package    Version
---------- -------
pip        22.0.4
setuptools 61.3.1
wheel      0.36.2

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

python -m pip install --upgrade pip setuptools

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

pip install pygraphviz

PyGraphvizのインストールは、すぐに終わります。
終了したら、どんなパッケージがインストールされたのかを確認します。

$ pip list
Package    Version
---------- -------
pip        22.0.4
pygraphviz 1.9
setuptools 61.3.1
wheel      0.36.2

PyGraphvizには、依存パッケージがありません。
その点では、既存環境へPyGraphvizの導入は容易と言えます。

しかし、システム要件を整える点では容易ではないかもしれません。

以上、PyGraphvizのインストールを説明しました。
次は、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, 4)
A.add_edge(1, 5)
# 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")

上記コードを実行すると、上記で紹介したグラフを作成します。
綺麗なグラフの例として挙げたモノです。

同じグラフが作成できれば、PyGraphvizの動作確認は成功と言えます。

以上、PyGraphvizの動作確認を説明しました。

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