python的依赖管理的实现


Posted in Python onMay 14, 2019

主流开发语言的包管理工具一般都是支持依赖管理的,比如PHP的composer、Java的mvn。

对于python来说又该如何管理依赖呢?

pip基本用法

python还不错,它提供了pip命令来安装依赖,同时pip会自动安装间接依赖,的确是很方便的。

安装依赖的命令是pip,举个栗子:

pip install requests

然后可以看到一些打印信息:

Looking in indexes: http://mirrors.aliyun.com/pypi/simple
Requirement already satisfied: requests in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (2.21.0)
Requirement already satisfied: certifi>=2017.4.17 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (2018.4.16)
Requirement already satisfied: idna<2.9,>=2.5 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (2.7)
Requirement already satisfied: chardet<3.1.0,>=3.0.2 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (3.0.4)
Requirement already satisfied: urllib3<1.25,>=1.21.1 in /Library/Frameworks/Python.framework/Versions/3.6/lib/python3.6/site-packages (from requests) (1.23)

可以明确安装的requests库版本是2.21.0,这也可以后续通过pip freeze命令来查看:

pip freeze |grep requests
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

安装所有依赖

当我们变更部署环境时,通过执行如下命令即可安装所有依赖:

pip install -r requirements.txt

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
python实现统计代码行数的方法
May 22 Python
Python简单调用MySQL存储过程并获得返回值的方法
Jul 20 Python
使用python绘制常用的图表
Aug 27 Python
Python对文件和目录进行操作的方法(file对象/os/os.path/shutil 模块)
May 08 Python
python学习笔记--将python源文件打包成exe文件(pyinstaller)
May 26 Python
python Gunicorn服务器使用方法详解
Jul 22 Python
使用Python画出小人发射爱心的代码
Nov 23 Python
利用pyshp包给shapefile文件添加字段的实例
Dec 06 Python
Pytorch在NLP中的简单应用详解
Jan 08 Python
python实点云分割k-means(sklearn)详解
May 28 Python
python如何求圆的面积
Jul 01 Python
python3跳出一个循环的实例操作
Aug 18 Python
详解Python3序列赋值、序列解包
May 14 #Python
Python实战之制作天气查询软件
May 14 #Python
python中时间模块的基本使用教程
May 14 #Python
使用Python正则表达式操作文本数据的方法
May 14 #Python
Django如何防止定时任务并发浅析
May 14 #Python
python3 pygame实现接小球游戏
May 14 #Python
Django 多环境配置详解
May 14 #Python
You might like
操作Oracle的php类
2006/10/09 PHP
PHP使用PDO操作sqlite数据库应用案例
2019/03/07 PHP
PHP实现新型冠状病毒疫情实时图的实例
2020/02/04 PHP
CSS(js)限制页面显示的文本字符长度
2012/12/27 Javascript
js中return false(阻止)的用法
2013/08/14 Javascript
js 获取元素下面所有li的两种方法
2014/04/14 Javascript
Javascript基于AJAX回调函数传递参数实例分析
2015/12/15 Javascript
jQuery基于BootStrap样式实现无限极地区联动
2016/08/26 Javascript
微信小程序进行微信支付的步骤昂述
2016/12/01 Javascript
详解Vue中使用Echarts的两种方式
2018/07/03 Javascript
你了解vue3.0响应式数据怎么实现吗
2019/06/07 Javascript
layui的select联动实现代码
2019/09/28 Javascript
小程序接入腾讯位置服务的详细流程
2020/03/03 Javascript
vue过滤器实现日期格式化的案例分析
2020/07/02 Javascript
vue实现移动端项目多行文本溢出省略
2020/07/29 Javascript
js实现日历
2020/11/07 Javascript
python实现自动登录人人网并访问最近来访者实例
2014/09/26 Python
在windows系统中实现python3安装lxml
2016/03/23 Python
Python通过paramiko远程下载Linux服务器上的文件实例
2018/12/27 Python
使用python3实现操作串口详解
2019/01/01 Python
Pandas统计重复的列里面的值方法
2019/01/30 Python
python 计算积分图和haar特征的实例代码
2019/11/20 Python
python exit出错原因整理
2020/08/31 Python
Django创建一个后台的基本步骤记录
2020/10/02 Python
前端面试必备之CSS3的新特性
2017/09/05 HTML / CSS
html5使用canvas绘制太阳系效果
2014/12/15 HTML / CSS
AE美国鹰美国官方网站:American Eagle Outfitters
2016/08/22 全球购物
雅诗兰黛(Estee Lauder)英国官方网站:世界顶级化妆品牌
2016/12/29 全球购物
一站式跨境收款解决方案:Payoneer(派安盈)
2018/09/06 全球购物
大学毕业生自我鉴定
2013/11/05 职场文书
乌鸦喝水教学反思
2014/02/07 职场文书
市场营销管理毕业生自荐信
2014/03/03 职场文书
小小商店教学反思
2014/04/27 职场文书
四大名著读书笔记
2015/06/25 职场文书
css3实现背景图片半透明内容不透明的方法示例
2021/04/13 HTML / CSS
nginx请求限制配置方法
2021/07/09 Servers