Pythonモジュールの関係図を作る
Posted: , Modified: Python Qiita
本稿は Qiita 投稿記事 のバックアップです.
はじめに
リファクタリングのために,モジュール間の関係図を作る. Pythonでモジュールの依存関係図を描きたいとかPython dependencies inside a package によると, snakefood が良さそうだったので使ってみた.
snakefood
pip でインストール可能.
$ pip install snakefood
いくつかのコマンドが提供されているが,
sfood
で解析し,stood-graph
で Graphviz 用の dot ファイルを書き出せる.
解析したいパッケージのルートが ROOT
だとすると,
$ sfood ROOT | sfood-graph > graph.dot
で graph.dot
ができるので,後は適当にプロットする.
$ dot -Tjpg graph.dot -o graph.jpg -Gdpi=800
モジュールが多い場合解像度(-Gdpi
オプションの値)は大きめに設定しないと潰れて読めなくなる.
jpg 以外で出力する場合は,-Tpng
などとすれば良い.
なお,sfood
に -i
オプションをつけると,外部パッケージは省くことができる.
サンプル
参考までに,selenium で試した結果を掲載しておく.
その他
pyreverseの結果の見方とオプションの使い方 によるとpyreverse というツールでもいけるみたい.