最近用python开发一个项目,涉及多个模块,多人开发的时候,将代码clone下来后,很多红叉叉,提示需要安装依赖,常规的方式,在代码编辑器中根据提示挨个安装依赖包,大家都重复这个动作,非常烦人,也搞不清楚项目有哪些依赖,以及依赖的版本号是什么。
一、烦人的python依赖包管理
我们知道java有maven可以很好的管理依赖包及版本号,非常方便,那么python是否有呢?问了一圈人,搜索了一些知识,发现没有。大部分的方式都是使用pip来逐个安装依赖包,没有整体的依赖包管理。部署到服务器上的时候需要挨个的再次pip安装一遍,非常不方便。
二、解决python依赖包的最佳实践
那么好的解决python依赖包的方式是什么呢?经过层层对比和实际操作,总结了一个最佳实践。
在开发代码的时候,大家是逐个安装依赖包的,这时候使用pip来进行安装是比较方便的。如安装requests包:
pip install requests
然后可以通过pip freeze |grep requests查看到安装的requests的版本:
~ % pip freeze |grep requests
requests==2.26.0
然后在项目中增加一个依赖包管理文件:requrements.txt将所有的依赖包及版本号保存下来。可以通过命令生成这个requrements.txt文件,命令如下:
pip freeze >requrements.txt