python的依赖管理的实现
主流开发语言的包管理工具一般都是支持依赖管理的,比如PHP的composer、Java的mvn。
对于python来说又该如何管理依赖呢?
pip基本用法
python还不错,它提供了pip命令来安装依赖,同时pip会自动安装间接依赖,的确是很方便的。
安装依赖的命令是pip,举个栗子:
pipinstallrequests
然后可以看到一些打印信息:
Lookinginindexes:http://mirrors.aliyun.com/pypi/simple
Requirementalreadysatisfied:requestsin/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages(2.21.0)
Requirementalreadysatisfied:certifi>=2017.4.17in/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages(fromrequests)(2018.4.16)
Requirementalreadysatisfied:idna<2.9,>=2.5in/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages(fromrequests)(2.7)
Requirementalreadysatisfied:chardet<3.1.0,>=3.0.2in/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages(fromrequests)(3.0.4)
Requirementalreadysatisfied:urllib3<1.25,>=1.21.1in/Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages(fromrequests)(1.23)
可以明确安装的requests库版本是2.21.0,这也可以后续通过pipfreeze命令来查看:
pipfreeze|greprequests requests==2.21.0 requests-oauthlib==1.0.0
编写requirements.txt
为了将开发时的依赖保留下来,我们可以编写一个文本文件叫做requirements.txt,内容如下:
requests==2.21.0
记得把这个文件提交到源码仓库的根目录,我们可以看到python开源项目都遵循这个套路,比如kubenetes-client的requirements.txt:
certifi>=14.05.14#MPL six>=1.9.0#MIT python-dateutil>=2.5.3#BSD setuptools>=21.0.0#PSF/ZPL urllib3>=1.23#MIT pyyaml>=3.12#MIT google-auth>=1.0.1#Apache-2.0 ipaddress>=1.0.17;python_version=="2.7"#PSF websocket-client>=0.32.0,!=0.40.0,!=0.41.*,!=0.42.*#LGPLv2+ requests#Apache-2.0 requests-oauthlib#ISC
安装所有依赖
当我们变更部署环境时,通过执行如下命令即可安装所有依赖:
pipinstall-rrequirements.txt
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持毛票票。