You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何列出Python文件的全部pip第三方及自定义用户模块依赖?

适配Python3的Python文件全依赖遍历解决方案

以下方案均支持递归遍历所有嵌套导入的文件,同时可区分pip安装的第三方模块、用户自定义本地模块:

方案1:pydeps(最适配需求,开箱即用)

pydeps是当前主流的Python依赖分析工具,完全兼容Python3,支持自动识别标准库、第三方包、本地自定义模块三类依赖,自动递归扫描所有嵌套导入的文件。

  • 安装命令:pip install pydeps
  • 扫描A.py全依赖并直接输出清单的命令:pydeps A.py --show-deps
  • 若需要将结果导出到文件:pydeps A.py --no-show --output ./deps_list.txt
    输出结果会自动按依赖类型分类,你可以直接区分出需要pip安装的第三方包,以及项目内的自有模块。

方案2:使用Python标准库modulefinder(无需额外安装依赖)

如果不想安装第三方工具,可以直接用Python自带的modulefinder实现依赖扫描,参考脚本如下:

from modulefinder import ModuleFinder

# 初始化扫描器,传入你要分析的入口文件
finder = ModuleFinder()
finder.run_script("A.py")

print("=== 全依赖清单 ===")
for module_name, module_obj in finder.modules.items():
    # 过滤无文件的内置标准模块
    if module_obj.__file__:
        print(f"模块名:{module_name},文件路径:{module_obj.__file__}")

运行脚本后,你可以根据文件路径自行分类:路径属于你的项目目录的为用户自定义模块,路径在Python环境的site-packages目录下的为pip安装的第三方模块。

方案3:仅需提取pip第三方依赖时使用pipreqs

如果你只需要整理需要pip安装的第三方依赖,不需要列出本地自定义模块,可以用pipreqs:

  • 安装命令:pip install pipreqs
  • 扫描当前项目所有Python文件,导出第三方依赖到requirements.txt:pipreqs . --force

注意:pipreqs只会输出需要通过pip安装的第三方包,不会包含项目内自有模块。

内容的提问来源于stack exchange,提问作者Yash Gutgutia

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.10.06 19:45:03