graphviz软件和pycallgraph库自动生成Python代码函数调用关系图

一、Graphviz软件和pycallgraph库安装(Windows)

1.1 Graphviz软件安装

官网下载:http://www.graphviz.org/download/

根据自己版本选择下载(我在Windows上安装)

在这里插入图片描述

 配置环境变量,在path中添加

例如我安装在F:\,那么就在我的电脑——属性——高级系统设置——环境变量-path:添加环境变量F:\Graphviz2.38\bin

验证:

在cmd窗口输入 dot -help,出现下图内容,说明安装成功

在这里插入图片描述

1.2 安装graphviz + pycallgraph的python模块

pip3 install -i https://mirrors.aliyun.com/pypi/simple/ graphviz

pip3 install -i https://mirrors.aliyun.com/pypi/simple/ pycallgraph

二、使用

你的程序 只有你的操作 使用了某个函数,才能显示在流图中。用户没有使用的功能则不会出现在流图中。

库文件调用

from pycallgraph import PyCallGraph
from pycallgraph.output import GraphvizOutput
from pycallgraph import Config
from pycallgraph import GlobbingFilter

主函数

def main():
	# 你的主函数代码。
        
if __name__ == "__main__":
    config = Config()
    # 关系图中包括(include)哪些函数名。
    #如果是某一类的函数,例如类gobang,则可以直接写'gobang.*',表示以gobang.开头的所有函数。(利用正则表达式)。
    config.trace_filter = GlobbingFilter(include=[
        '方法1','方法2'
    ])
    # 关系图中不包括(exclude)哪些函数。(正则表达式规则)
    # config.trace_filter = GlobbingFilter(exclude=[
    #     'pycallgraph.*',
    # ])
    graphviz = GraphvizOutput()
    graphviz.output_file = 'graph.png'
    with PyCallGraph(output=graphviz, config=config):
        main()

如果不需要特别备注需要和不需要,只要将config.trace_filter方法删去即可

三、遇到的一些问题

1、pycharm运行时,提示找不到graphviz。

应该是pycharm读不到windows配置的 path,手动在pycharm配置graphviz的path

参考

1、https://blog.csdn.net/qq_37177765/article/details/95886071?utm_medium=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase&depth_1-utm_source=distribute.pc_relevant.none-task-blog-BlogCommendFromMachineLearnPai2-1.nonecase

2、https://www.cnblogs.com/yongjieShi/p/10099587.html

3、graphviz各类呈现样式 http://www.graphviz.org/gallery/

猜你喜欢

转载自blog.csdn.net/qq_24166417/article/details/106614196
今日推荐