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 というツールでもいけるみたい.