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读文件逐行处理的示例代码分享
Dec 27 Python
Python抓取京东图书评论数据
Aug 31 Python
wxPython框架类和面板类的使用实例
Sep 28 Python
Python自动连接ssh的方法
Mar 07 Python
Python删除空文件和空文件夹的方法
Jul 14 Python
Python之两种模式的生产者消费者模型详解
Oct 26 Python
pandas计数 value_counts()的使用
Jun 24 Python
python 中值滤波,椒盐去噪,图片增强实例
Dec 18 Python
tensorflow-gpu安装的常见问题及解决方案
Jan 20 Python
Python3自动生成MySQL数据字典的markdown文本的实现
May 07 Python
教你如何使用Python实现二叉树结构及三种遍历
Jun 18 Python
Python虚拟环境virtualenv是如何使用的
Jun 20 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
编译问题
2006/10/09 PHP
yii2使用gridView实现下拉列表筛选数据
2017/04/10 PHP
用JAVASCRIPT如何给&amp;lt;textarea&amp;gt;&amp;lt;/textarea&amp;gt;赋值
2007/04/20 Javascript
电子商务网站上的常用的js放大镜效果
2011/12/08 Javascript
JS中的public和private对象,即static修饰符
2012/01/18 Javascript
JavaScript中valueOf函数与toString方法深入理解
2012/12/02 Javascript
JavaScript判断是否是微信浏览器
2016/06/13 Javascript
详解Angular调试技巧之报错404(not found)
2018/01/31 Javascript
jQuery实现的3D版图片轮播示例【滑动轮播】
2019/01/18 jQuery
vue2 中二级路由高亮问题及配置方法
2019/06/10 Javascript
JS实现手写 forEach算法示例
2020/04/29 Javascript
详解微信小程序轨迹回放实现及遇到的坑
2021/02/02 Javascript
在Python中使用成员运算符的示例
2015/05/13 Python
python深度优先搜索和广度优先搜索
2018/02/07 Python
浅谈python爬虫使用Selenium模拟浏览器行为
2018/02/23 Python
python 列表,数组和矩阵sum的用法及区别介绍
2018/06/28 Python
Python实现将数据写入netCDF4中的方法示例
2018/08/30 Python
在python中以相同顺序shuffle两个list的方法
2018/12/13 Python
Python内置函数locals和globals对比
2020/04/28 Python
python3发送request请求及查看返回结果实例
2020/04/30 Python
Python实现读取并写入Excel文件过程解析
2020/05/27 Python
opencv 查找连通区域 最大面积实例
2020/06/04 Python
如何利用Python动态模拟太阳系运转
2020/09/04 Python
英国最大的美妆产品在线零售商之一:Beauty Bay
2017/09/29 全球购物
Boston Proper官网:美国女装品牌
2017/10/30 全球购物
小米俄罗斯授权商店:Xiaomi俄罗斯
2019/12/08 全球购物
总经理办公室主任岗位职责
2013/11/12 职场文书
房屋买卖委托公证书
2014/04/08 职场文书
社区文化建设方案
2014/05/02 职场文书
先进事迹材料怎么写
2014/12/30 职场文书
大学生个人总结范文
2015/02/15 职场文书
2015年远程教育工作总结
2015/05/20 职场文书
创业计划书之电动车企业
2019/10/11 职场文书
python3美化表格数据输出结果的实现代码
2021/04/14 Python
mysql如何配置白名单访问
2021/06/30 MySQL
python绘制云雨图raincloud plot
2022/08/05 Python