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实现学员管理系统)
- pythonpandas数据类型(详解Python数据分析--Pandas知识点)
- python处理水印(Yii 使用intervention/image拓展实现图像处理功能)
- 使用python制作游戏(python制作填词游戏步骤详解)
- 用python如何写tkinter(浅谈python3.6的tkinter运行问题)
- python面向对象使用方法(Python面向对象程序设计之私有属性及私有方法示例)
- python编写端口扫描器(Python开发网站目录扫描器的实现)
- python怎么装opencv(Python基于opencv实现的简单画板功能示例)
- python弹跳小球(python GUI实现小球满屏乱跑效果)
- pythonsocket教程(python3利用Socket实现通信的方法示例)
- pythonsvr时序预测(利用Python半自动化生成Nessus报告的方法)
- python进行回归分析(Python多项式回归的实现方法)
- python编程加密解密(python实现AES加密解密)
- python云服务技术(Python脚本修改阿里云的访问控制列表的方法)
- python代码返回值(Python 函数返回值的示例代码)
- python开启线程池(对python:threading.Thread类的使用方法详解)
- 《白狐的人生》热拍 贾征宇偶像包袱难自弃 图(白狐的人生热拍)
- 七夕取消了,牛郎织女没做核酸七夕已经取消(牛郎织女没做核酸七夕已经取消)
- 网友抵制 多地取消 夏日祭 为何惹众怒(网友抵制多地取消)
- 兄弟萌,今年的七夕又取消了 思考 思考(今年的七夕又取消了)
- 七夕取消是什么梗(七夕取消是什么梗)
- 这竟然是捏出来的 20种橡皮泥玩法让你轻松hold住魔娃(这竟然是捏出来的)
热门推荐
- docker资源隔离的实现方式(docker配置openGauss数据库的方法详解)
- dede的数据库在哪(dede后台Fatal error: Allowed memory size of 8388608 bytes exhausted问题的解决方)
- php 实例代码解析(PHP反射学习入门示例)
- python3常用内建函数(Python3中函数参数传递方式实例详解)
- 创建jsp时如何默认生成的是utf-8(js判断文件是否为utf-8编码的方法)
- mysql 索引表空间(MySQL如何构建数据表索引)
- css 中border基本语法(详解CSS的border边框属性及其在CSS3中的新特性)
- css3 图片样式处理(CSS3实现漂亮的照片墙效果的简单实例推荐)
- python电脑自动发送邮件(python学习--使用QQ邮箱发送邮件代码实例)
- api接口安全方面的几个建议
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9