1- objgraph简介

 

2- 安装objgraph

这里以Window7 64bit为例。
通过pip安装objgraph:
$ pip3 install objgraph --proxy="10.144.1.10:8080"
Collecting objgraph
Downloading https://files.pythonhosted.org/packages/ec/3d/c1f0e827dd2df27c8080317d667cb555d264825d/objgraph-3.4.0-py2.py3-none-any.whl
Collecting graphviz (from objgraph)
Downloading https://files.pythonhosted.org/packages/84/44/21a7fdd50841aaaef224b943f7d10df87e473d48/graphviz-0.8.3-py2.py3-none-any.whl
Installing collected packages: graphviz, objgraph
Successfully installed graphviz-0.8.3 objgraph-3.4.0
 
安装graphviz
graphviz(http://www.graphviz.org/)是一个图形可视化软件(Graph Visualization Software),使用dot文件生成关系图;

3- 运行objgraph

  示例:
$ ls -l
total 1
-rwxr-xr-x 1 guowli 1049089 143 May 23 16:54 TempTest.py* $ cat TempTest.py
#! python3
# -*- coding: utf-8 -*-
import objgraph x = []
y = [x, [x], dict(x=x)]
objgraph.show_refs([y], filename='sample-graph.png') $ py -3 TempTest.py
Graph written to C:\Users\guowli\AppData\Local\Temp\objgraph-i96a8ww9.dot (4 nodes)
Image generated as sample-graph.png $ ls -l
total 13
-rw-r--r-- 1 guowli 1049089 10398 May 23 16:56 sample-graph.png
-rwxr-xr-x 1 guowli 1049089 143 May 23 16:54 TempTest.py* $

生成对象引用关系图:

4- 在Pycharm运行objgraph

需要在Pycharm中设置Graphviz环境变量,否则可能报错:
'The command "{}" is required to be in your path.'.format(cmd))
pycallgraph.exceptions.PyCallGraphException: The command "dot" is required to be in your
path.
 
设置Pycharm环境变量步骤:
Run --》Edit Configurations...  --》Default --》Python  --》Environment field group: Environment variables --》 ...  --》+  --》
  • Name: PATH
  • Value: C:\Program Files (x86)\Graphviz2.38\bin

Python - 使用objgraph生成对象引用关系图的更多相关文章

  1. hadoop下生成echarts关系图

    数据 O700 O2833 O700 O331 O700 O3425 O700 O350 O700 O3516 O700 O3826 读取文件类 public class FileReadFromHd ...

  2. 使用egypt+graphviz生成函数调用关系图示例

    总结: make  (-fdump-rtl-expand)  去除编译优化,比如-O3 egypt test.c.128r.expand >test.dot  可以手动打开dot文件去除一些孤立 ...

  3. 201706 gem 'rails-erd'生成Model关系图

    [工具]一张图理清各个model之间关系 安装 Graphviz 2.22+: 终端机中执行 brew install graphviz Gemfile中添加 gem 'rails-erd' 终端机中 ...

  4. IDEA查看类继承关系及生成类关系图

    1.在想要查看的类上按 Ctrl + H -> Diagrams -> Show Diagrams -> Java Class Diagrams -> Show Impleme ...

  5. 小白学Python(18)——pyecharts 关系图 Graph

    Graph-基本示例 import json import os from pyecharts import options as opts from pyecharts.charts import ...

  6. MySql WorkBench通过表生成表关系图

    1.mysql workbench 菜单file=>add model(添加模型) 点击上面的add diagram(添加新的图解),就会在右边多出一个新的图解模型 2,mysql workbe ...

  7. Ambari服务依赖关系图生成脚本

    1. 生成服务依赖关系 #!/usr/bin/python import sys import commands import json def genDependString(ip): url=&q ...

  8. 使用MySQL Workbench导出MySQL数据库关系图

    1. 点击MySQL Workbench中间Data Modeling下的Create EER Model From Existing Database: 2. 在Stored Connection中 ...

  9. C/C++源代码的Include依赖关系图

    前一篇博文中我曾仔细介绍过如何查看C/C++代码的依赖项关系图,在这篇文章中我将会介绍如何使用Visualization and Modeling Feature Pack 工具包,查看C/C++源代 ...

随机推荐

  1. 判断作业完成之 读取log 脚本

    tail 用于读取文件末尾 -n 后边加行数 -f 为持续追踪,实时输出 NUMECA 输出最后两行 ...done in 727.84-sec (STARTING NUMECA FLOW SOLVE ...

  2. Delphi之Exception获得错误信息

    1 unit Unit1; 2 3 interface 4 5 uses 6 Windows, Messages, SysUtils, Variants, Classes, Graphics, Con ...

  3. java pdf转word 高效不失真

    将java工程导成jar包 使用 bat 执行 jar 包. --------------------------------------------------------------------- ...

  4. 本地iis新建站点步骤

    例如:1.在C:\Windows\System32\drivers\etc\hosts下添加地址 2.在下面IIS加上名称与webUI的地址

  5. elasticdump 方法迁移数据

    elasticdump -rm -ti taskrabbit/elasticsearch-dump --ignore-errors=true --offset=1000  --input=http:/ ...

  6. linux下maven的安装

    上传安装包到相应路径 进行解压 tar -zxvf apache-maven-3.0.5-bin.tar.gz -C /export/servers/ 修改环境变量 vim /etc/profile ...

  7. laravel 打印完整sql

    DB::connection()->enableQueryLog(); // 开启QueryLog \App\User::find(1); dump(DB::getQueryLog());

  8. Fiddler抓包工具安装与使用

    1.Fiddler简介2.Fiddler安装步骤3.Fiddler目录结构4.Fiddler证书配置5.Fiddler录制配置6.Fiddler工作原理7.Fiddler界面详解 1.Fiddler简 ...

  9. LwIP-网络接口管理

    netif      各种类型网络接口的抽象------------------netif.c  netif.h ————netif.h————————————————//网络接口最大物理地址长度,这 ...

  10. EC20指令测试

    cat /dev/ttyUSB2 & echo -e "AT+CGMM\r\n" >/dev/ttyUSB2   //输出模块型号 echo -e "AT+ ...