Graphviz  是贝尔实验室开源的图形绘制工具包
Pyreverse  是常用的用来分析Python代码和类关系的工具

将两者结合起来使用可以绘制Python的UML类图

1.linux环境下graphviz安装

graphviz是一个开源做图软件,她能画结构化的抽象和网络图形,在网络,生物信息学,软件工程,数据库和web设计,机器学习, 可视化接口等众多其他技术领域都有应用。
使用yum自动安装,任意路径下执行如下命令:
      yum install 'graphviz*' --skip-broken
      出现提示时,输入“y”。
--skip-broken:跳过错误依赖,不加这个参数会提示安装包依赖错误,因为这里并不需要其它的安装包,所以跳过即可。

2.pyreverse工具安装

  pyreverse能方便的生成uml类图,pylint里自带了pyreverse这个工具。使用pip安装pylint
pip install pylint

3.使用,可以参考的命令为,scheduler为存放代码的目录
pyreverse -ASmy -o png scheduler/

#/home/neutron-8.3.0/neutron # pyreverse -ASmy -o png scheduler/
parsing scheduler/__init__.py...
parsing /home/neutron-8.3.0/neutron/scheduler/base_scheduler.py...
parsing /home/neutron-8.3.0/neutron/scheduler/base_resource_filter.py...
parsing /home/neutron-8.3.0/neutron/scheduler/dhcp_agent_scheduler.py...
parsing /home/neutron-8.3.0/neutron/scheduler/l3_agent_scheduler.py...
parsing /home/neutron-8.3.0/neutron/scheduler/__init__.py...

# /home/neutron-8.3.0/neutron # ll
total 288
drwxr-xr-x 10 root root   4096 Nov 22 11:57 agent/
drwxr-xr-x  5 root root    113 Nov 22 11:53 api/
-rw-r--r--  1 root root   2605 Nov 22 11:53 auth.py
drwxr-xr-x  2 root root    114 Nov 22 11:53 callbacks/
drwxr-xr-x  2 root root    136 Nov 22 11:53 scheduler/
-rw-r--r--  1 root root 108147 Nov 22 13:59 classes_No_Name.png
#/home/neutron-8.3.0/neutron # sz classes_No_Name.png 
.B00000000000000


 


生成类图效果如下:


Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐