1、安装objgraph,安装objgraph的方法比较简单,没有过多依赖库,直接pip install即可
pip install objgraph
2、支持绘制图形,windows需要安装graphviz,安装方法:
graphviz官网文档地址: www.graphviz.org/ 点击左侧Download,有两种安装方法
1、如果有电脑管理员权限,推荐使用.exe,直接下载点开安装即可
2、没有管理员权限,下载zip包,下载完成后解压到目录,目录尽量不要带中文
然后配置账户环境变量
在Path里添加解压目录的bin目录
新启动一个命令行,输入 dot --version,提示有如下打印即可
3、其他问题
安装后,pycharm 代码测试仍旧不能生成png文件,提示Image renderer (dot) not found
解决方法: 在pycharm的Console里,敲了一下dot --version提示识别不到dot,应该是环境变量配置没生效到已经启动的pycharm,重启一下pycharm即可。重启后正常生成.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