自动生成Python程序依赖包
问题
项目历史遗留问题,最开始的时候依赖包都还记录的比较完善,但是经手好几个团队后,逐渐变得不可控了。于是想要好好整理下项目依赖包问题。
解决
首先想到的是一个一个程序运行来尝试,但项目太多,依赖包也太多,明显是不可行的。
后来Google发现有个工具很好pip_check_reqs
(项目地址https://pypi.org/project/pip_missing_reqs/),可以自动分析项目文件输出依赖包信息。
Python2注意事项:
- 使用pip_check_reqs==2.0.4 高版本不支持python2
- 如果报错
ModuleNotFoundError: No module named 'pip.commands'
,检查是不是pip版本不对,过高的pip版本不支持,可以使用10.0.1版本
可使用下面命令自动生成requirements.txt
文件:
pip-missing-reqs . 2>&1 | awk '{print $2}' | grep dist | awk -F= '{print $2}' | sort -u >> requirements.txt
git checkout -b eng/fix_req
git add requirements.txt
git commit -m "feat(req): 修复requirements依赖配置"
git push --set-upstream origin eng/fix_req