Python無料パッケージである pyreverse と、dot 言語で記述されたグラフ構造を画像として出力するフリーソフト Graphviz を使用してPythonのクラス図を自動生成する方法を纏めました。Windowsでの環境構築、Unix系OSでの環境構築、双方記載しています。
こんな方におすすめ
- Pythonのクラス図を自動で生成したい
- クラス図の生成をフリーソフトだけで行いたい
pyreverse と Graphviz を使うと、以下のようなクラス図とパッケージ図を自動で出力することができます。

Pyreverseクラス図

Pyreverseパッケージ図
必要な環境の準備
必要なモノ
- Python3 の実行環境
- GIT Bash(Windows環境のみ)
- pyreverse
- Graphviz
Python3 の実行環境
Windowsの場合
Python の公式サイト(https://www.python.org/downloads/)からパッケージをダウンロードしてインストールします。
Pythonには 2.x 系と 3.x 系がありますが、特別な理由が無い限り 3.x 系のインストールをお勧めします。
ダウンロードしたファイルをダブルクリックして、インストールの確認画面に進んだ後、
確認画面にて、「Add Python 3.x to PAHT」にチェックを入れてから、「Install Now」をクリックしましょう。

Unix系OSの場合
apt や yum でインストールしましょう。Ubuntuの場合は、以下のコマンドでインストールできます。
command
$ sudo apt install python3 python3-pip

GIT Bash のインストール
Windowsの場合
GIT for Windows からパッケージをダウンロードしてインストールします。
GIT を使用するのが目的ではないため、インストール時の確認画面は標準設定のままで問題ありません。
Unix系OSの場合
標準で何かしらの Terminal がインストールされているので、特段何もすることはありません。
スポンサーリンク
pyreverse のインストール
Windows/Unix系OS 共通
Python のパッケージインストーラー pip を使用してインストールします。
WindowsとUnix系OS共通で、以下のコマンドを実行してインストールします。
command
$ pip install pylint

Graphviz のインストール
Windowsの場合
Graphviz の公式サイト(https://graphviz.gitlab.io/download/)からダウンロードします。
ページの中ほどにある「Stable Windows Install packages」を選択し、
「/Packages/stable/windows/10/msbuild/Release/Win32」までリンクをたどっていきます。
注意
Windowsのバージョン等、今後の更新で変更となる場合もあります。
ZIPファイルをダウンロードして解凍し、インストールしましょう。
さて、Windows10の場合は、インストールが終わった後に以下の2点を行う必要があります。
- インストールした Graphviz の実行ファイルの移動
- 移動先のフォルダーにPATHを通す
Graphviz の実行ファイルの移動
Windows10 では、C:\Program Files\ 以下の書き込みが制限されているため、Graphviz が上手く動きません。
そのため、標準でインストールされたファイルをどこかにコピーする必要があります。例えば、C:\Work にコピーしましょう。
移動先のフォルダーにPATHを通す
ユーザーの環境変数 PATH に、「C:\Work\Graphviz 2.44.1\bin」を追加します。
PATHの追加方法は、ナレッジキューブさんの解説を参考に行ってください。
Unix系OSの場合
Windows と違い、至ってシンプルです。以下のコマンドを実行してインストールしましょう。
command
$ sudo apt install graphviz
環境の動作確認
Python と pip の動作確認
以下のコマンドを実行して確認しましょう。それぞれ、バージョンが表示されればOKです。
command
$ py --version または python3 --version
Python 3.7.4
$ pip --version
pip 19.0.3 from c:\users\hoge\appdata\local\programs\python\python37\lib\site-packages\pip (python 3.7)
Graphviz の動作確認
先ずは、以下のコマンドを実行し、何も表示されないことを確認しましょう。
「アクセス権がない」、または「書き込みできなかった」というエラーが出る場合は、正しくインストールできていません。
command
$ dot -c
いざ、クラス図の自動生成
以下のコマンドを実行し、クラス図を作成します。pyreverse のクラス図を生成する例です。
command
$ pyreverse -o png -p Pyreverse pylint/pyreverse/
以下、2つのファイルがカレントディレクトリ直下に生成されていれば、正しく環境構築できています。
- classes_Pyreverse.png
- packages_Pyreverse.png
コマンドの書式とオプション
書式
command
pyreverse [option] <packages>
機能
- <packages>に変換したいパッケージ名を入れて実行
自作した .py ファイルのファイル名やフォルダ名も指定可能(ただし、__init__.py が必要) - pyreverseを実行すると、package diagram と class diagram の2つが出力
オプション
-o, --output
このオプションは、変換画像フォーマットを指定します。指定がない場合は、dot形式になります。
出力可能なフォーマットはdot -Txxxで確認できます。
-p, --project
このオプションは、変換後のファイル名の末尾を指定します。