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/

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章