この記事では、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の動作確認はこれで十分でしょう。