windows下python3 objgraph安装及graphviz安装, 支持绘制对象引用关系图

28 阅读1分钟

1、安装objgraph,安装objgraph的方法比较简单,没有过多依赖库,直接pip install即可

pip install objgraph

2、支持绘制图形,windows需要安装graphviz,安装方法:

graphviz官网文档地址: www.graphviz.org/ 点击左侧Download,有两种安装方法

1、如果有电脑管理员权限,推荐使用.exe,直接下载点开安装即可

image.png

2、没有管理员权限,下载zip包,下载完成后解压到目录,目录尽量不要带中文

然后配置账户环境变量

image.png 在Path里添加解压目录的bin目录

image.png image.png 新启动一个命令行,输入 dot --version,提示有如下打印即可 image.png

3、其他问题

安装后,pycharm 代码测试仍旧不能生成png文件,提示Image renderer (dot) not found

image.png

解决方法: 在pycharm的Console里,敲了一下dot --version提示识别不到dot,应该是环境变量配置没生效到已经启动的pycharm,重启一下pycharm即可。重启后正常生成.png文件

image.png

测试代码:

import gc
import objgraph


class P:
    pass


g_l1 = []
g_l2 = []


def storage(gl, o):
    gl.append(o)


if __name__ == '__main__':
    p1 = P()
    p2 = P()
    p3 = P()
    storage(g_l1, p1)
    storage(g_l2, p1)
    storage(g_l1, p2)
    refers = gc.get_referrers(p1)
    objgraph.show_refs([p1], filename="graph.png")

是否要安装xdot

objgraph官方推荐再安装一下xdot,需要pip install xdot,但是pip install dot过程中,需要在windows编译各种东西,最初提示没有gcc等编译器,安装了gcc编译器后,仍然需要go的一些东西,报错Dependency 'gobject-introspection-1.0' is required but not found。实测发现即使不安装xdot,也是能正常生成图片的,因此不再安装xot