python包和模块管理(python的依赖管理的实现)
python包和模块管理
python的依赖管理的实现主流开发语言的包管理工具一般都是支持依赖管理的,比如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 |
以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持开心学习网。
原文链接:https://yuerblog.cc/2019/05/13/python的依赖管理/
- python类继承和封装(Python面向对象程序设计类的封装与继承用法示例)
- python数据存取(python异步存储数据详解)
- ipython命令行查看文件夹(对IPython交互模式下的退出方法详解)
- python2个字典合成(Python两个字典键同值相加的几种方法)
- python远程下发shell指令(Python实现堡垒机模式下远程命令执行操作示例)
- python怎么装opencv(Python基于opencv实现的简单画板功能示例)
- python封装函数讲解(Python中super函数用法实例分析)
- python3爬虫实例代码(python3通过selenium爬虫获取到dj商品的实例代码)
- python中tkinter模块窗口操作(详解python tkinter教程-事件绑定)
- python中if条件语句如何使用(Python中如何使用if语句处理列表实例代码)
- python抓取天气数据(Python实战之制作天气查询软件)
- java怎么调用支付宝的扫码支付(python实现银联支付和支付宝支付接入)
- python的几种数据结构(python中的数据结构比较)
- python中怎样使用列表的sort方法(详解python中sort排序使用)
- python自动识别旋转验证码(Python实现字符型图片验证码识别完整过程详解)
- python 从入门到实践笔记(python基础梳理一推荐)
- 春天养佛肚竹,做好这几件事,叶绿根壮寓意好 越养越旺家(春天养佛肚竹做好这几件事)
- 律界衣品最好,时尚圈学识数高,41岁的Amal堪称现实版的傲骨贤妻(时尚圈学识数高)
- 刘智泰确认出演《Good Wife》 担纲男一号(刘智泰确认出演Good)
- 《傲骨之战》剧终 律政女魔头Diane,为什么是大女主天花板(傲骨之战剧终律政女魔头Diane)
- 汉族(汉族的祖先是谁)
- 中国有几个名族(中国有几个民族没列入56个民族)
热门推荐
- docker 重启容器后数据丢失(如何恢复docker容器数据)
- php面向对象教程理解(PHP面向对象程序设计之构造方法和析构方法详解)
- ASP.NET中使用CodeDomProvider调用js文件中的js方法
- pycharm 爬虫的数据存在哪了(利用PyCharm Profile分析异步爬虫效率详解)
- python接口管理系统(基于Python实现用户管理系统)
- ExtJs中getCmp、getDom、Get的区别
- dedecms文章标题(dedecms5.7后台发布文章提示“标题不能为空”的解决方法)
- mysql完整教程(MySql新手入门的基本操作汇总)
- windows7mysql服务无法启动(Windows系统下MySQL无法启动的万能解决方法)
- mysql重新安装失败
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9