LoginSignup
11
12

More than 5 years have passed since last update.

Pythonモジュールの関係図を作る

Last updated at Posted at 2016-07-24

はじめに

リファクタリングのために,モジュール間の関係図を作る.
Pythonでモジュールの依存関係図を描きたいとかPython dependencies inside a package によると,
snakefood が良さそうだったので使ってみた.

snakefood

pip でインストール可能.

$ pip install snakefood 

いくつかのコマンドが提供されているが,
sfood で解析し,stood-graphGraphviz 用の 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 で試した結果を掲載しておく.

selenium.jpg

その他

pyreverseの結果の見方とオプションの使い方 によるとpyreverse というツールでもいけるみたい.

11
12
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
11
12