linuxBean14.04(49)pyreverseでPythonコードからUML図を生成

公開日: 2015年07月12日 更新日: 2019年05月11日

旧ブログ

t f B! P L

前の関連記事:linuxBean14.04(48)なんとかPDFファイルの編集をする方法


pycallgraphと同様にgraphvizが必要になりますのでSynapticパッケージマネージャでgraphvizをインストールしておきます。(linuxBean14.04(40)pycallgraphでPythonのコールグラフ:その1)。pyreverseはpylintの一機能なのでpylintをインストールします。

pip3でPython3用のpylintをインストール



Synapticパッケージマネージャからはpylint1.1.0がインストールできます。

python-astroidとpython-logilab-commonも同時にインストールされます。

このSynapticパッケージマネージャからインストールしたpylintは/usr/lib/python2.7/dist-packages/pylint にインストールされておりPython2.7でしか使えません。

python3-astroidとpython3-loglab-commonはありますが、pylint3は見つけられませんでした。

これらをインストールするだけでPython3でpyreserveが使えそうに思ってインストールしてみましたが/usr/bin/pyreverseのshebangに変更はなくPython3では使えないようでした。

linuxBean14.04(44)Pythonモジュールのインポートエラーに悩まされるでやったようにPythonパッケージのインストール方法は次の3つの方法がありますが、Python3のpylintがSynapticパッケージマネージャになかったので2番目の方法でインストールすることにします。

pipX.Y install パッケージ名 --user     インストール先:~/.local/lib/pythonX.Y/site-packages
sudo -H pipX.Y install パッケージ名   インストール先:/usr/local/lib/pythonX.Y/dist-packages
Synapticパッケージマネージャ          インストール先:/usr/lib/pythonX.Y/dist-packages

(X.YはPythonのバージョン。Synapticパッケージマネージャはとくに番号の指定がなければX.Y=2.7になり、Python3系のときはマイナーバージョン間で共有されてX.Y=3になるようです。)

linuxBean14.04(38)LibreOfficeバンドルPythonにパッケージを追加でインストールしたPython3.3でpyreverseを使いたいので、pip3.3を使ってインストールします。(linuxBean14.04(39)Pythonのパッケージ管理をPyCharmで行うでやったようにPyCharmでインストールしてもよいと思います。)

sudo -H pip3.3 install pylint

pq@pq-VirtualBox:~$ sudo -H pip3.3 install pylint
[sudo] password for pq:
Collecting pylint
        Downloading pylint-1.4.4-py2.py3-none-any.whl (428kB)
                100% |████████████████████████████████| 430kB 684kB/s
Collecting logilab-common>=0.53.0 (from pylint)
        Downloading logilab-common-1.0.2.tar.gz (190kB)
                100% |████████████████████████████████| 192kB 129kB/s
Requirement already satisfied (use --upgrade to upgrade): six in /usr/local/lib/python3.3/dist-packages (from pylint)
Collecting astroid>=1.3.6 (from pylint)
        Downloading astroid-1.3.6-py2.py3-none-any.whl (182kB)
                100% |████████████████████████████████| 184kB 1.5MB/s
Requirement already satisfied (use --upgrade to upgrade): setuptools in /usr/local/lib/python3.3/dist-packages (from logilab-common>=0.53.0->pylint)
Building wheels for collected packages: logilab-common
        Running setup.py bdist_wheel for logilab-common
        Stored in directory: /root/.cache/pip/wheels/5b/f0/72/fd610d41f9edff1cebec0d1b2bf2a893a9bcb954cd108055fd
Successfully built logilab-common
Installing collected packages: logilab-common, astroid, pylint
Successfully installed astroid-1.3.6 logilab-common-1.0.2 pylint-1.4.4
pylint1.4.4とastroid1.3.6、logiral-common1.0.2がインストールできました。

/usr/bin/pyreverseのshebangも#!/usr/bin/python3.3になっていました。

とりあえずpyreserveでUML図を生成してみる


Pyreverse : UML Diagrams for Python (Logilab.org)に載っている例をやってみます。

pyreverse -o png -p Pyreverse /usr/local/lib/python3.3/dist-packages/pylint/pyreverse/

Terminalを起動してこれを実行すると実行したディレクトリにclasses_Pyreverse.pngとpackages_Pyreverse.pngができます。


classes_Pyreverse.png

packages_Pyreverse.png

うまく動いているようです。

参考にしたサイト


Pyreverse : UML Diagrams for Python (Logilab.org)
PythonコードからUML図を生成してくれます。

次の関連記事:linuxBean14.04(50)pyreverseの結果の見方とオプションの使い方

ブログ検索 by Blogger

Translate

«
Jul. 2015
»
Sun
Mon
Tue
Wed
Thu
Fri
Sat
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
Created by Calendar Gadget

QooQ