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

2015-07-12

旧ブログ

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

最近のコメント

Created by Calendar Gadget

QooQ