可视化Python项目中的依赖项
您好,
我
是流通参考系统解决方案部门的Kawai。
是五月。黄金周
现在,当您使用Python开发某些东西时,您是否遇到了麻烦,例如“此代码依赖哪个模块?”还是“我无法理解整个项目的结构”? (嗯,不是吗?)
PYDEPS一种有用的工具,可以帮助您解决此类担忧。
使用PYDEPS,您可以分析Python项目中模块之间的依赖项,并使用图表清楚地对其进行可视化。
本文将介绍如何安装和使用PYDEP。
设置和准备
■验证环境
Ubuntu 24.04.2 Lts Python 3.12.3
安装GraphViz进行插图描述
$ sudo apt update $ sudo apt安装graphviz
在任何地方创建并移动项目目录。
这次我们将使用标准的Python Venv。任何版本控制工具都可以,因此您可以从中选择。
$ mkdir myproject $ cd myproject $ python3 -m venv env $ source env/bin/activate
安装pydeps
(env)$ pip3安装pydeps
创建示例代码
我将在myproject/下放一些简单的代码。
这是一个示例代码,显示了py intimpy和使用utils.py的基本依赖关系。
■配置
myproject/├istry.py└前ipys.pys.py
■utils.py
def helper_function():print(“这是辅助功能”)
■main.py
导入utils#import utils.py def main_process():print(“运行主进程”)utils.helper_function()如果__name __ ==“ __ main __”:main_process()
如果您详细分解Main.py,
1)它取决于另一个称为utils.py(导入utils)的文件,
2)在其中使用helper_function(utils.helper_function()),
3),3)在main_process函数中执行主处理,
4)启动main_process如果直接作为脚本执行(如果直接执行)(if__name__ __________________main__”
它是这样的结构。
#运行结果(Env)$ Python3 main.py运行主过程这是助手功能
尝试pydeps
我将尝试立即在main.py上运行它。
(env)$ pydeps main.py
▼“ main.svg”已输出。
pydeps着眼于“导入utils”行,并显示信息“主要取决于utils”作为图。
顺便说一句,一个完全不同的项目的内容完全不同,但是如果有多个依赖性,这就是输出。
其他选项
此外,使用选项允许您以非SVG格式输出。
■输出到其他扩展
#-O option(env)$ pydeps main.py -o distionency.png
■基于JSON的输出
(Env)$ pydeps main.py -show-deps {“ main.py”:{“ bacon”:0,“ imports”:[“ utils”],“ name”:“ main.py”:“ main.py”,“ path”:null},“ utils”,“ utils”:{bacon“:{bacon”:1,“ bacon”:1,“ imported_by”:imported_by“ ainte”:[oins.py'' “ /home/hamchan/test/myproject/utils.py”}}}
如上所述,可以以各种格式输出。
安装也非常简单,所以请尝试一下
完全的