当前位置:首页>python>pycallgraph2drawio:Python 调用链可视化 + Draw.io 自由编辑

pycallgraph2drawio:Python 调用链可视化 + Draw.io 自由编辑

  • 2026-09-02 19:05:28
pycallgraph2drawio:Python 调用链可视化 + Draw.io 自由编辑

文章目录

    • 1 功能特性
    • 2 系统要求
    • 3 安装指南
    • 4 使用方法

平时做 Python 项目开发、代码梳理与架构复盘时,我们经常会遇到一个很头疼的问题:想快速看清项目里函数之间的调用关系、理清整体代码结构,却没有顺手又直观的工具。手动梳理不仅耗时费力,用命令行生成调用图又需要反复敲指令、记参数,对不熟悉 Graphviz 和 draw.io 转换流程的开发者很不友好;批量处理多个项目文件夹时,界面容易卡死、日志看不到、出错也不知道问题出在哪;生成的.dot 文件还得手动转成 draw.io 格式,才能在可视化工具里自由编辑、导出分享,整个流程繁琐又碎片化,严重影响代码分析与文档沉淀效率。

为此,编写了一个基于 PySide6 的桌面应用程序,用于从 Python 代码生成函数调用图,并将其转换为 drawio 格式,便于编辑调用函数之间联系并添加注释。

1 功能特性

  • 文件夹管理
    :通过文件对话框或拖放添加多个 Python 项目文件夹
  • 路径验证
    :自动检查路径是否存在以及是否包含 Python 文件
  • 多线程处理
    :使用后台线程避免 UI 冻结
  • 进度跟踪
    :实时进度条和详细的日志输出
  • 错误处理
    :针对缺失依赖项或处理失败的全面错误消息
  • 输出自定义
    :选择生成文件的输出目录
  • 拖放支持
    :只需将文件夹拖放到应用程序窗口

2 系统要求

  • Ubuntu: 24.04 LTS
  • Python 3.8 或更高版本

3 安装指南

3.1 克隆或下载此仓库
git clone https://github.com/laoxue888/pycallgraph2drawio.git
3.2 安装 Anaconda
# Select 5 to change the system repository.# 选择 5 以更改系统仓库。wget http://fishros.com/install -O fishros && . fishros# 取消代理(Failed to connect to 127.0.0.1 port 1008)# Cancel proxy (Failed to connect to 127.0.0.1 port 1008)git config --global --unset http.proxygit config --global --unset https.proxy# Use a proxy# 使用代理#git config --global http.proxy "http://127.0.0.1:7890"#git config --global https.proxy "http://127.0.0.1:7890"# Install Anaconda# 安装 Anacondacd downloadswget https://repo.anaconda.com/archive/Anaconda3-2025.06-0-Linux-x86_64.shchmod +x Anaconda3-2025.06-0-Linux-x86_64.sh && bash Anaconda3-2025.06-0-Linux-x86_64.sh# Create a virtual environment# 创建虚拟环境conda create -n callgraph2drawio python=3.12 -y# Switch to the newly created virtual environment# 切换到新创建的虚拟环境conda activate callgraph2drawio
3.3 安装依赖项:
apt update && apt install -y \libegl1 \libxkbcommon0 \libglib2.0-0 \graphviz \graphviz-dev \x11-xserver-utils \libxcb* \libxcb-cursor0 \libxcb-xinerama0 \libxkbcommon-x11-0 \libxcb-render0 \libxcb-shape0 \libxcb-xfixes0 \libxcb-randr0 \libxcb-glx0 \libxcb-keysyms1 \libxcb-image0 \libxcb-icccm4 \libxcb-sync1 \libxcb-xkb1 \libx11-xcb1 \libgl1pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple
3.4 运行应用程序:
python callgraph_gui.py

4 使用方法

4.1 启动应用程序:

conda activate callgraph2drawiopython callgraph_gui.py

4.2 添加 Python 项目文件夹:

    • 点击"添加文件夹"按钮浏览文件夹
    • 或者直接将文件夹拖放到窗口
    • 文件夹将列在"文件夹管理"部分
4.3 配置输出(可选):
    • 点击"更改输出目录"选择生成文件的保存位置
    • 默认为当前工作目录

4.4 生成调用图:

    • 点击"生成调用图"按钮
    • 进度将在进度条中显示
    • 详细日志将出现在"日志输出"区域

4.5 查看结果:

      • .dot
         文件:Graphviz 格式(可使用 Graphviz 工具查看)
      • .drawio
         文件:Draw.io 格式(可在 draw.io 或 diagrams.net 中打开)
      • 生成的文件将保存在输出目录中:

      • 在 VSCode 中查看 drawio 文件:首先安装 Draw.io Integration 扩展,然后点击 drawio 文件查看。

    最新文章

    随机文章