Python依赖自动生成
目录
前言
下载:AGPD。
AGPD
Automatically Generating Python Dependencies (AGPD)是一个单文件Python工具,用于扫描Python项目中的import语句,识别实际使用的第三方库,并读取当前Python环境中对应库的版本号,自动生成 requirements.txt。
原理
AGPD使用Python内置的ast模块解析项目中的.py文件,并提取:
|
|
等导入语句。
程序会自动:
-
扫描项目中的Python文件;
-
提取所有导入模块;
-
排除Python标准库;
-
排除项目自身的本地模块;
-
使用
importlib.metadata将导入名称映射到实际安装包名称; -
读取当前Python环境中的安装版本;
-
生成
requirements.txt和依赖分析报告。
例如:
|
|
最终生成的依赖格式类似:
|
|
版本号来自运行AGPD时所使用的当前Python环境。
使用
将AGPD.py放在项目目录中,例如:
|
|
在项目对应的Python、venv或conda环境中运行:
|
|
默认扫描当前目录,并生成:
|
|
扫描指定目录:
|
|
扫描单个Python文件:
|
|
指定输出文件:
|
|
指定分析报告文件:
|
|
生成requirements.txt后,可在新环境中安装依赖:
|
|