1、Yum

Yum(全称为 Yellow dog Updater, Modified)是一个在Fedora和RedHat以及CentOS中的Shell前端软件包管理器。基于RPM包管理,能够从指定的服务器自动下载RPM包并且安装,可以自动处理依赖性关系,并且一次安装所有依赖的软件包,无须繁琐地一次次下载、安装。

2、pip

pip 是一个安装和管理 Python 包的工具,python安装包的工具有easy_install, setuptools, pip,distribute等。distribute是setuptools的替代品,而pip是easy_install的替代品。

3、仓库源区别

pip依赖于pip仓库,默认为:http://pypi.python.org/,只要里面有就可以安装。而yum依赖于yum的仓库,需要别人做成rpm包才可以安装。

4、安装内容区别

yum主要安装linux系统的中的软件应用,例如nginx,haproxy,mysql等等

pip安装python中的模块,由于python需要安装相当多的模块,可以使用pip 安装,pip可以使用install语句安装模块,可以升级模块,并且可以删除你之前所安装的模块。

出处:https://blog.csdn.net/sj349781478/article/details/79158642

补充:

Python之包管理工具

在Python环境中已经有很多成熟的包,可以通过安装这些包来扩展我们的程序。

例如,很多时候Python开发人员都会去PyPI网站去查找自己想要使用的包,然后进行安装。PyPI ( Python Package Index)是获得第三方 Python 软件包以补充标准库的一个站点。

在安装Python包的过程中,经常涉及到distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等。

突然对Python的包管理凌乱了,这些工具关系是什么,应该怎么去选择使用?

下面就简单介绍下Python包管理相关的一些内容。

Python包管理工具

这么多的Python包管理工具,刚开始接触Python时会有点不知如何选择。其实,当查过Python的官方文档之后,慢慢就理清了这些工具之间的关系了,也就没有这么混乱了。

下面就分别对Python中的包管理工具进行简单的介绍。

distutils

distutils 是 python 标准库的一部分,这个库的目的是为开发者提供一种方便的打包方式, 同时为使用者提供方便的安装方式。

我们经常使用的setup.py就是基于distutils实现的,然后通过setup.py就可以进行打包或者安装了。

看一个简单的例子,找一个目录创建三个文件foo.py、bar.py和setup.py,其中setup.py的内容如下:

from distutils.core import setup
setup(name='fooBar',version='1.0',author='Will',author_email='wilber@sh.com',url='http://www.cnblogs.com/wilber2013/',py_modules=['foo', 'bar'],
)

然后,在该目录中运行 python setup.py sdist ,会得到以下输出,同时生成了一个"fooBar-1.0.zip"包。

使用者就可以解压缩这个包然后执行 python setup.py install进行安装,然后就可以使用foo、bar这两个模块了:

关于更过如何编写setup.py的内容,请自行参阅Python官方文档中的setupscript部分。

setuptools 和 distribute

setuptools 是对 distutils 的增强,尤其是引入了包依赖管理。我们可以通过ez_setup.py来安装setuptools。

至于distribute,它是setuptools的一个分支版本。分支的原因是有一部分开发者认为 setuptools 开发太慢。但现在,distribute 又合并回了 setuptools 中,所以可以认为它们是同一个东西。

前面看到setup.py可以创建一个压缩包,而setuptools使用了一种新的文件格式(.egg),可以为Python包创建 egg文件。setuptools 可以识别.egg文件,并解析、安装它

easy_install

当安装好setuptools/distribute之后,我们就可以直接使用easy_install这个工具了:

  1. 从PyPI上安装一个包:当使用 easy_install package 命令后,easy_install 可以自动从 PyPI 上下载相关的包,并完成安装,升级
  2. 下载一个包安装:通过 easy_install package.tgz 命令可以安装一个已经下载的包
  3. 安装egg文件:通过 easy_install package.egg 可以安装一个egg格式的文件

通过 easy_install --help 命令可以获取该命令相关的帮助提示:

根据上面的分析,可以看到setuptools/distribute和easy_install之间的关系:

  • setuptools/distribute 都扩展了 distutils,提供了更多的功能
  • easy_install是基于setuptools/distribute的一个工具,方便了包的安装和省级

pip

pip是目前最流行的Python包管理工具,它被当作easy_install的替代品,但是仍有大量的功能建立在setuptools之上。

easy_install 有很多不足:安装事务是非原子操作,只支持 svn,没有提供卸载命令, 安装一系列包时需要写脚本。pip 解决了以上问题,已经成为新的事实标准。

pip的使用非常简单,并支持从任意能够通过 VCS 或浏览器访问到的地址安装 Python 包:

  • 安装:  pip install SomePackage
  • 卸载:  pip uninstall SomePackage

文章的下面部分就重点介绍一下pip相关的内容。

使用pip

在大家使用Python中,推荐使用pip进行Python包管理,pip的安装和使用都比较方便。

pip安装

pip的安装有两种常用的方式:

  1. 下载get-pip.py文件,然后执行 python get-pip.py 进行安装(如果没有安装setuptools,那么get-pip.py会帮忙安装)
  2. 现在pip源码包,然后通过setup.py进行安装

pip常用命令

对于pip,最常用的肯定还是 pip --help ,通过帮助文档,就可以大概知道如何使用命令和参数。

pip常用命令集合:

使用

命令

从PyPI安装软件包

pip install SomePackage

卸载软件包

pip uninstall SomePackage

查看以安装软件包

pip list

查看可升级软件包

pip list --outdated

升级软件包

pip install --upgrade SomePackage

查看软件包安装了哪些文件及路径等信息

pip show --files SomePackage

安装软件包的指定版本号

pip install SomePackage

# latest version

pip install SomePackage==1.0.4

# specific version

pip install 'SomePackage>=1.0.4'

# minimum version

根据依赖文件安装软件包

pip freeze > requirements.txt

# 使用pip导出依赖文件列表

pip install -r requirements.txt

# 根据依赖文件列表,自动安装对应的软件包

总结

本文介绍了Python的各个包管理工具之间的关系,相信通过这篇文章的介绍,就不会再对distutils、setuptools、distribute、setup.py、easy_install、easy_install和pip等等名词感觉混乱了。

大致了解这些Python包管理工具后,大家应该也清楚了怎么选择和使用。

本文没有涉及如何制作并发布一个Python包,感兴趣的同学可以去Python官网上查查。

  • Python包管理工具
  • distutils
  • setuptools 和 distribute
  • easy_install
  • pip
  • 使用pip
  • pip安装
  • pip常用命令
  • 总结

出处:https://www.cnblogs.com/liangqihui/p/6895108.html

yum 与pip区别相关推荐

  1. Linux中升级更新命令yum upgrade和yum update的区别

    这篇文章主要介绍了Linux中升级更新命令yum upgrade和yum update的区别,Linux升级命令有两个分别是yum upgrade和yum update, 这个两个命令是有区别的,本文 ...

  2. linux更新命令yum,Linux中升级更新命令yum upgrade和yum update的区别

    Linux中升级更新命令yum upgrade和yum update的区别 更新时间:2019-10-31 17:21 最满意答案 Linux升级命令有两个分别是yum upgrade和yum upd ...

  3. Linux升级命令yum upgrade和yum update的区别

    Linux升级命令yum upgrade和yum update的区别 yum -y update 升级所有包同时也升级软件和系统内核 yum -y upgrade 只升级所有包,不升级软件和系统内核 ...

  4. CentOS 使用yum安装 pip

    CentOS 使用yum安装 pip 1.安装扩展源EPEL 2.安装 pip 3.检查是否安装成功 一般 CentOS 系统默认自带 python(系统要用,比如 yum 工具就是 python 写 ...

  5. linux 软件源 镜像源 yum apt pip

    linux 软件源 镜像源 yum apt pip 1.linux源 2.pypi 源 1.linux源 中国科技大学 http://mirrors.ustc.edu.cn/ 科大源帮助 http ...

  6. centos7下使用yum安装pip

    首先安装epel扩展源: yum -y install epel-release 更新完成之后,就可安装pip: yum -y install python-pip 安装完成之后清除cache: yu ...

  7. python install pip 区别_python conda、pip区别,python 下 faiss 安装

    在安装一些python的安装包时,我们会使用conda install ~或者pip install ~ 网上说conda是安装到云端,而pip是安装到本地,那二者究竟有什么区别,可以参考下这个点击打 ...

  8. yum update upgrade 区别_CentOS与RedHat的区别

    RedHat在发行的时候,有两种方式:二进制和源代码的发行方式.无论是哪一种发行方式,你都可以免费获得(例如从网上下载),并再次发布.但如果你使用了他们的在线升级(包括补丁)或咨询服务,就必须要付费. ...

  9. Centos yum和pip下载离线安装包

    一.yum安装 针对于单个包已经存在并且无法安装的,需要单独下载 工具下载:yum -y install yum-utils* 以安装libgcc为例     通过外网机器下载 yumdownload ...

  10. CentOS 6.10安装Python2.7.15【全过程-含yum及pip问题处理】

    查看当前系统中的 Python 版本 python --version 返回 Python 2.6.6 为正常. 检查 CentOS 版本 cat /etc/redhat-release 返回 Cen ...

最新文章

  1. Mock session,cookie,querystring in ASB.NET MVC
  2. python如何并发上千个get_用greenlet实现Python中的并发
  3. MySQL创建索引跳过redo_明明我建了索引,为什么sql执行的还是这么慢?
  4. 彻底弄懂为什么不能把栈上分配的数组(字符串)作为返回值
  5. 华为轮值董事长郭平2020全联接大会主题演讲:永远面向阳光,阴影甩在身后
  6. 随想录(协议栈的基本技术)
  7. 使用shell脚本 控制 python挂掉后自动重启
  8. 如何快速地真正的融入IT行业
  9. Servlet/JSP面试题目-----近期总结
  10. linux ubuntu软件中心,Ubuntu 20.04 将Ubuntu软件中心切换到Snap商店
  11. PHP月考---给自己建个错题本
  12. 蓝牙地址BD_ADDR组成
  13. 几组数据的相关性python_python数据相关性分析 (计算相关系数)
  14. 一个n*n矩阵对角线元素之和
  15. JSP实用教程-第三章Tag文件与Tag标记
  16. JavaScript读书笔记(三)布尔值,null,undefined,全局对象,包装对象
  17. 《你必须知道的的495个C语言问题》阅读笔记-(第4章)指针篇
  18. MySQL数据库——视图
  19. android 熄屏 后台运行,Android进程保活/息屏后后台保持定位、网络运行
  20. visca协议及其实现的简单认识

热门文章

  1. Mac开发-NSTextView软回车转换为硬回车
  2. 测试minio集群的上传下载速度
  3. 电脑键盘部分按键失灵_方法 | 键盘按键部分失灵,怎么办?
  4. 易语言x64位封包拦截技术
  5. sai钢笔图层编辑路径工具如何取消选择
  6. 【超详细】初中高级软件测试工程师 都需要掌握哪些测试技能
  7. 好歌推荐 绝对经典(中外结合)
  8. 【周五松土】私家萝卜与坑
  9. 魔兽和星际最大差别是什么?
  10. 区间对比_预算10-15万元区间 国内在售街车综合实力对比