900-批量py文件依赖分析工具

Python依赖分析工具是一款依赖管理软件。该工具能够扫描Python源代码文件,智能识别项目所需的第三方库依赖,并生成标准的requirements.txt文件。软件提供两种分析模式:AST本地分析模式和pipreqs分析模式,满足不同场景下的依赖分析需求。

900-批量py文件依赖分析工具

核心功能基于代码实现:

  • 依赖扫描功能:通过AST语法树解析或pipreqs工具,自动提取Python文件中的import语句,识别第三方库依赖
  • 版本查询功能:调用本地pip命令查询已安装包的版本信息,无需网络连接
  • 批量处理功能:支持单文件和多文件(含子文件夹)的批量依赖分析
  • 一键安装功能:分析完成后可直接批量安装所有依赖包

功能特点

1. 双模式分析引擎

软件提供两种依赖分析模式,用户可根据需求灵活选择:

  • AST本地分析模式:使用Python内置ast模块解析源代码语法树,提取import语句中的第三方库,结合本地pip查询获取版本信息。该模式无需网络连接,分析速度快,适合离线环境使用
  • pipreqs分析模式:调用pipreqs工具进行依赖分析,适合需要更全面依赖检测的场景

2. 智能标准库过滤

内置完整的Python标准库列表(涵盖abc、argparse、asyncio、datetime、os、sys等100+标准库模块),自动过滤标准库导入,确保只输出真正的第三方依赖,避免requirements.txt文件臃肿

3. 导入名到包名映射

内置常见导入名到pip包名的映射关系(如PIL→Pillow、Crypto→pycryptodome等),解决导入名与安装包名不一致的问题,确保pip安装命令正确执行

4. 拖拽操作支持

集成tkinterdnd2库,支持直接将.py文件或文件夹拖拽到路径输入框,快速加载待分析项目,提升操作效率

5. 子文件夹穿透扫描

提供”支持子文件夹穿透”选项,勾选后可递归扫描选定文件夹下的所有Python文件,适合大型项目的依赖分析

6. 一键批量安装

分析完成后,点击”一键安装依赖”按钮即可批量安装所有识别出的第三方库,安装过程在后台线程执行,界面不会卡顿

7. 实时日志输出

提供滚动日志显示区域,实时输出分析进度、警告信息和操作结果,方便用户了解处理状态

详细使用说明

界面布局说明

程序启动后显示主窗口,包含以下区域:

  • 标签页切换区:顶部提供”AST本地分析”和”pipreqs分析”两个标签页,点击切换分析模式
  • 路径输入区:文本框显示当前加载的文件/文件夹路径,支持直接拖拽操作
  • 选项区:提供”支持子文件夹穿透”复选框
  • 按钮区:包含”分析并导出依赖”、”一键安装依赖”、”清空日志”三个功能按钮
  • 日志显示区:滚动文本框,显示操作过程和结果信息

AST本地分析模式详解

该模式使用Python内置ast模块解析源代码:

  1. 读取Python源文件内容
  2. 构建抽象语法树(AST)
  3. 遍历语法树提取所有import和from…import语句
  4. 过滤掉Python标准库模块
  5. 通过MAPPING字典将导入名转换为pip包名
  6. 调用pip show命令查询本地已安装包的版本
  7. 生成requirements.txt文件,格式为:包名==版本号

pipreqs分析模式详解

该模式调用pipreqs工具进行分析:

  1. 将待分析的Python文件复制到临时目录
  2. 调用pipreqs命令扫描临时目录
  3. 读取生成的requirements.txt内容
  4. 显示分析结果并提供安装功能

输出文件说明

分析完成后,程序会在以下位置生成requirements.txt文件:

  • 单文件模式:在与源文件相同的目录下生成文件名_requirements.txt
  • 文件夹模式:在文件夹根目录下生成requirements.txt

文件格式示例:

  1. Pillow==9.5.0
  2. requests==2.28.1
  3. numpy==1.24.3

日志信息解读

日志区域会显示以下类型信息:

  • 文件加载信息:显示已加载的文件数量
  • 分析进度:逐个显示正在处理的文件名
  • 警告信息:未在本地安装的包会显示警告
  • 导出结果:显示生成的requirements.txt文件路径
  • 安装进度:显示pip安装命令的执行状态

使用场景示例

场景一:新项目环境搭建

小明从GitHub下载了一个Python项目,需要快速配置开发环境:

  1. 启动Python依赖分析工具,选择”AST本地分析”模式
  2. 将项目文件夹拖拽到路径输入框
  3. 勾选”支持子文件夹穿透”选项
  4. 点击”分析并导出依赖”按钮
  5. 查看日志确认所有依赖已被识别
  6. 点击”一键安装依赖”按钮,等待安装完成
  7. 项目环境配置完成,可以开始开发

场景二:依赖版本迁移

开发团队需要将项目从开发环境迁移到生产环境,确保依赖版本一致:

  1. 在开发环境运行工具,分析项目依赖
  2. 检查生成的requirements.txt文件内容
  3. 将requirements.txt文件提交到版本控制系统
  4. 在生产环境使用pip install -r requirements.txt安装依赖
  5. 确保两个环境的依赖版本完全一致

场景三:项目依赖清理

老项目经过多次迭代,需要清理不再使用的依赖:

  1. 使用工具分析当前项目实际使用的依赖
  2. 对比现有的requirements.txt文件
  3. 移除不再使用的依赖项
  4. 更新requirements.txt文件
  5. 保持项目依赖的整洁和准确

注意事项

重要警告

  1. 数据安全:分析过程中不会修改源代码文件,仅读取文件内容进行语法分析,请放心使用

  2. 版本准确性:AST模式查询的是本地已安装包的版本,如本地未安装某依赖,将无法获取版本号,生成的requirements.txt中该包将无版本指定

  3. 安装风险:使用”一键安装依赖”功能前,请确认依赖列表正确无误,避免安装不需要的包

  4. 网络要求:AST本地分析模式无需网络连接,pipreqs模式可能需要网络连接

  5. 权限问题:在系统目录下运行时可能需要管理员权限

操作建议

  • 首次使用建议先用单个文件测试,熟悉操作流程
  • 大型项目分析可能需要较长时间,请耐心等待
  • 建议在虚拟环境中使用,避免污染系统Python环境
  • 定期更新依赖库版本,保持项目安全性

常见问题解答

Q: 为什么某些导入的库没有被识别?

A: 可能的原因包括:1)该库是Python标准库,已被自动过滤;2)导入方式特殊,如动态导入(importlib.import_module);3)库在代码中未实际使用。建议检查源代码中的import语句格式。

Q: 生成的requirements.txt中某些包没有版本号怎么办?

A: 这表示该包在本地环境中未安装。您可以:1)先安装该包后再重新分析;2)手动在requirements.txt中添加版本号;3)不指定版本,让pip自动安装最新版本。

Q: AST模式和pipreqs模式有什么区别?

A: AST模式使用Python内置模块解析,速度快、无需网络、依赖本地pip;pipreqs模式使用第三方工具,可能检测到更多隐式依赖,但需要额外安装pipreqs包。

Q: 支持分析哪些类型的Python文件?

A: 目前仅支持分析.py扩展名的Python源代码文件,暂不支持.pyx、.pyd等编译文件。

Q: 分析过程中程序无响应怎么办?

A: 程序使用多线程处理,正常情况下界面不会卡顿。如出现无响应,请检查:1)文件是否过大;2)是否选择了包含大量文件的文件夹;3)系统资源是否充足。

Q: 如何处理导入名与包名不一致的情况?

A: 程序内置了常见映射关系(如PIL→Pillow),如遇到未覆盖的情况,可在源代码的MAPPING字典中手动添加映射关系。

Q: 生成的requirements.txt可以用于其他项目吗?

A: requirements.txt是Python标准的依赖声明文件,可以在任何Python项目中使用pip install -r requirements.txt命令安装依赖。

程序使用环境及相关说明

1、适用的系统环境说明: win7及以上64位win操作系统 ,  注意事项:win32位系统以及mac系统需要额外定制开发

2、关于使用限制①无需注册、登录等限制,直接使用,  ②没有电脑台数限制,  ③无使用时间限制、不联网本地使用、确保数据安全

3、程序如何安装:不需要安装,按照说明使用即可。

特别注意:请先测试,注意备份原文件,之后再批量使用,避免不可逆损失。

程序使用说明

解压后,看到如下文件,双击快捷方式使用即可(快捷方式上有个箭头),快捷方式可以放到任意位置。
900-批量py文件依赖分析工具
如下所示,文件夹及文件夹内所有内容都不要删除,如果突然无法使用了大概率是杀毒软件给误杀了,请重新解压使用即可
900-批量py文件依赖分析工具

本工具下载地址

软件下载链接 & 教程内容 已隐藏,开通网站会员可免费查看
售价:80 元
体验会员免费查看
开通会员
开通体验会员或更高级的会员可免费查看该内容

登录注册购买      开通会员免费查看

 


更新日志

V1.0

  • 随机文章
  • 热门文章

收藏本文章

返回列表
上一篇:
下一篇:
您需要 登录账户 后才能发表评论

发表评论取消回复中国互联网举报中心

快捷回复:

验证码

    评论列表 (暂无评论,共5人参与)参与讨论

    还没有评论,来说两句吧...