目录

Python依赖自动生成

misaraty 更新 | 2026-08-10
前言
下载:AGPD

AGPD

Automatically Generating Python Dependencies (AGPD)是一个单文件Python工具,用于扫描Python项目中的import语句,识别实际使用的第三方库,并读取当前Python环境中对应库的版本号,自动生成 requirements.txt

原理

AGPD使用Python内置的ast模块解析项目中的.py文件,并提取:

1
2
3
import numpy
import pandas as pd
from sklearn.ensemble import RandomForestRegressor

等导入语句。

程序会自动:

  1. 扫描项目中的Python文件;

  2. 提取所有导入模块;

  3. 排除Python标准库;

  4. 排除项目自身的本地模块;

  5. 使用importlib.metadata将导入名称映射到实际安装包名称;

  6. 读取当前Python环境中的安装版本;

  7. 生成requirements.txt和依赖分析报告。

例如:

1
2
3
cv2      -> opencv-python
PIL      -> Pillow
sklearn  -> scikit-learn

最终生成的依赖格式类似:

1
2
3
numpy==2.2.6
pandas==2.3.1
scikit-learn==1.7.0

版本号来自运行AGPD时所使用的当前Python环境。

使用

AGPD.py放在项目目录中,例如:

1
2
3
4
5
project/
├── AGPD.py
├── main.py
├── model.py
└── utils.py

在项目对应的Python、venv或conda环境中运行:

1
python AGPD.py

默认扫描当前目录,并生成:

1
2
requirements.txt
requirements_report.txt

扫描指定目录:

1
python AGPD.py /path/to/project

扫描单个Python文件:

1
python AGPD.py main.py

指定输出文件:

1
python AGPD.py . -o requirements.txt

指定分析报告文件:

1
python AGPD.py . --report requirements_report.txt

生成requirements.txt后,可在新环境中安装依赖:

1
pip install -r requirements.txt

其他