PyDotPlusのインストールを解説する【Python】

PyDotPlusのインストールを解説する【Python】 プログラミング

この記事では、PyDotPlusのインストールを解説します。
PyDotPlusのインストールは、難しいですが簡単です。

「難しいですが簡単です」
とても曖昧な表現をしています。
そのように表現する理由は、以下。

PyDotPlusの仕組みを知らないと、インストールは難しいです。
逆に、PyDotPlusの仕組みを知ると、インストールは簡単になります。

本記事の内容

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

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

PyDotPlusとは?

PyDotPlusとは、DOT言語へのPythonインターフェースを提供するライブラリのことです。
別の表現をすると、DOT言語を通じてPythonとGraphvizの橋渡しをするライブラリと言えます。
よって、 PyDotPlusはGraphvizの存在ありきです。

また、PyDotPlusはPyDotの後継プロジェクトです。
後継なので、「Plus」と付いているのでしょう。

肝心のPyDotPlusの仕組みを説明しましょう。
「難しいですが簡単です」に関わる重要な部分です。

PyDotPlusは、「dot」コマンドを実行しているだけです。
Graphvizで提供されているAPIなどを利用しているわけではありません。

だから、PyDotPlusは単純と言えば単純なのです。
代理で「dot」コマンドをPython上から実行しているに過ぎません。

この仕組みが理解できれば、以下で説明するPyDotPlusのシステム要件が頭に入りやすくなります。
では、次にPyDotPlusのシステム要件を説明していきます。

PyDotPlusのシステム要件

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

この最新バージョンは、2014年12月9日にリリースされています。
メンテナンスはされていないということです。

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

  • Windows
  • macOS
  • Linux

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

ポイントとなるのは、以下の3点です。

  • Pythonバージョン
  • Graphviz
  • 環境変数(PATH/Path)

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

Pythonバージョン

PyPI上のPyDotPlusページ
https://pypi.org/project/pydotplus/

上記ページでは、以下のバージョンが記載されています。

  • Python 2.7
  • Python 3.4

これだけ見ると、不安になります。
2014年12月9日を最後に更新されていないので、これは当然でしょう。

でも、安心してください。
以下のPythonバージョンでも、PyDotPlusが動くことを確認できています。

>python -V
Python 3.9.1

Graphviz

PyDotPlusは、Graphvizありきだと書きました。
そのため、Graphvizのインストールは必須です。

Graphvizのインストールは、次の記事で解説しています。

なお、上記の記事ではWindowsを前提にしています。
この記事でも、基本的にはWindowsベースで話を進めています。

ただ、LinuxやmacOSでも、この記事の内容は役に立ちます。
何より、LinuxやmacOSの場合は、もっと簡単にインストール可能です。

環境変数(PATH/Path)

PyDotPlusは、「dot」コマンドでGraphvizを呼び出しています。
ということは、「dot」コマンドにパスが通っていることが前提条件となります。

Graphvizのインストールの際に、パスを通してもOKです。
もちろん、後からでもパスを設定できます。

下記の記事では、Graphvizにパスを通す説明をしています。

「環境変数(PATH/Path)」の箇所で詳細な説明があります。
そちらを参考にして、「dot」コマンドにパスを設定してください。

このパスが設定されていないと、実行時に次のエラーが発生します。

pydotplus.graphviz.InvocationException: GraphViz's executables not found

PyDotPlusのインストール

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

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

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

python -m pip install --upgrade pip

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

pip install pydotplus

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

>pip list
Package    Version
---------- -------
pip        21.0.1
pydotplus  2.0.2
pyparsing  2.4.7
setuptools 54.0.0

確かに、pydotplusは2.0.2が最新状態です。
最後に、PyDotPlusの動作確認を行いましょう。

PyDotPlusの動作確認

動作確認用のコードは、以下。

import pydotplus

graph = pydotplus.graph_from_dot_file('test.dot')
graph.write_svg('test.svg')

上記を実行すると、次の画像が作成されます。

上の画像は、test.svgをpngに変換しています。
この画像が作成されれば、PyDotPlusが動作していると言えます。

なお、上記のサンプルコードを動かすには、test.dotファイルが必要です。
test.dotには、DOT言語で書かれたデータが保存されています。

test.dotの内容は、以下。

digraph test{ a -> b -> c; c ->a; }

以上、 PyDotPlusの動作確認はこれで十分でしょう。

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