我正在寻找一种方法来审计和最小化requirements.txt。我接手了一个项目,这个项目在几次迭代中变得臃肿,我试图使它更易于维护。该文件包含不再在任何脚本中导入的包。
在过去,我已经完成了这个手动过程:
1.搜索项目目录,找到所有子文件夹中的所有python文件
1.搜索找到的每个python文件,找到所有import x
和from x import y
语句,将这些包添加到列表中
pip show
列表中的每个包,将任何依赖项添加到列表的末尾
1.列表用完后,进行排序并与requirements.txt进行比较
1.删除不在列表中的需求。
假设我的代码不执行相对导入,有没有一种方法可以自动化这个过程?我无法想象我会是第一个寻找这样的工具(或要点,或脚本)的人。我找不到任何。我使用windows,但我很高兴在windows subsystem for linux上使用linux命令。
2条答案
按热度按时间ycl3bljg1#
我认为有一个工具可以帮助解决这个问题,那就是pip_missing_reqs。
nwnhqdif2#
https://pypi.org/project/pipdeptree/将打印出一个依赖关系图,然后您可以将顶级依赖关系与代码中的导入进行比较。
https://pypi.org/project/findimports/将通过分析源文件来查找导入。
如果有人能做一个自动化的工具就好了。