# pyreqs **Repository Path**: code_valley/pyreqs ## Basic Information - **Project Name**: pyreqs - **Description**: No description available - **Primary Language**: Python - **License**: Apache-2.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 1 - **Forks**: 0 - **Created**: 2024-09-13 - **Last Updated**: 2024-09-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Python Requirements Scanner ## 项目简介 Python Requirements Scanner 是一个用于扫描 Python 文件并收集其依赖项的工具。该工具能够识别 Python 文件中的导入语句,并根据导入的模块名称查找对应的包及其版本信息。通过构建反向索引,工具能够快速定位导入模块所属的包,并输出包的名称和版本号。 ## 功能特点 - **自动识别导入模块**:工具能够解析 Python 文件中的 `import` 语句,提取导入的模块名称。 - **过滤标准库模块**:自动过滤掉 Python 标准库中的模块,只输出第三方依赖项。 - **排除本地目录**:能够识别并排除当前目录下的子目录作为依赖项。 - **支持排除指定依赖项**:用户可以通过命令行参数指定需要排除的依赖项。 - **支持从文件或标准输入读取文件列表**:用户可以指定一个包含 Python 文件路径的文件,或者直接从标准输入读取文件路径。 ## 使用方式 ### 安装 该项目无需安装,直接使用 Python 运行即可。 ### 命令行参数 ```bash python pyreqs.py [--exclude ...] ``` - `file_list`:包含 Python 文件路径的文件,每行一个文件路径。如果使用 `-`,则从标准输入读取文件路径。 - `--exclude`:可选参数,指定需要排除的依赖项,多个依赖项用空格分隔。 ### 示例 #### 示例 1:从文件读取 Python 文件列表 假设有一个文件 `file_list.txt`,内容如下: ``` /path/to/file1.py /path/to/file2.py ``` 运行命令: ```bash python pyreqs.py file_list.txt ``` #### 示例 2:从标准输入读取 Python 文件列表 运行命令: ```bash echo "/path/to/file1.py" | python pyreqs.py - ``` #### 示例 3:排除指定依赖项 运行命令: ```bash python pyreqs.py file_list.txt --exclude package1 package2 ``` ### 输出 工具将输出每个依赖项的包名及其版本号,格式如下: ``` package_name==version ``` ## 依赖项 该项目依赖于 Python 标准库,无需额外安装其他依赖项。 ## AI 代码都是由deepseek-coder生成,人工做了极少量的修改。