【转载】Python的包管理工具(进化关系)

      刚开始学习 Python 时,发现各类文档和 Blog 中使用的包安装方式各不相同,有的使用 easy_install,setuptools,有的使用 pip,distribute,那麽这几个工具有什么关系呢,看下面这个图就明白了。

可以看出 distribute 是 setuptools 的取代,pip 是 easy_install 的取代。 

正如使用 easy_install 之前需要安装 setuptools ,pip 的使用同样需要依赖 distribute 的安装。

下面简单的介绍一下:

      Distribute 是对标准库 disutils 模块的增强,我们知道 disutils 主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。Distribute 被创建是因为 Setuptools 包不再维护了。

1.安装 Distribute

      可以通过 distribute_setup.py 脚本来安装 Distribute,也可以通过 easy_install,pip,或者源文件来进行安装。不过使用 distribute_setup.py 来安装是最简单和受欢迎的方式。

$ curl -0 http://python-distribute.org/distribute_setup.py
$ sudo python distribute_setup.py

 
2.安装Pip

      Pip 是安装 Python 包的工具,功能包括:安装包,列出已经安装的包,升级包以及卸载包。

      Pip 是对 easy_install 的取代,提供了和 easy_install 相同的查找包的功能,因此可以使用 easy_install安装的包也同样可以使用 pip 进行安装。



      Pip 的安装可以通过源代码包,easy_install 或者其他脚本。

下面介绍一下各种安装方法:

源代码方式

$ wget http://pypi.python.org/packages/source/p/pip/pip-1.2.1.tar.gz (替换为最新的包)
$ tar xzf pip-1.2.1.tar.gz
$ cd pip-1.2.1
$ python setup.py install

easy_install 方式

$ easy_install pip

get_pip.py 脚本方式

$ curl -0 https://raw.github.com/pypa/pip/master/contrib/get-pip.py
$ sudo python get-pip.py

 

OK, 下面来看一下 Pip 的使用

安装 package

$ pip install Markdown

列出安装的 packages

$ pip freeze

安装特定版本的package

通过使用 ==, >=, <=, >, < 来指定一个版本号。

$ pip install 'Markdown<2.0'
$ pip install 'Markdown>2.0,<2.0.3'

升级包

升级包到当前最新的版本,可以使用 -U 或者 --upgrade

$ pip install -U Markdown

卸载包

$ pip uninstall Markdown

查询包

pip search "Markdown"

 

PS -- 包安装后的 py 文件路径:/usr/local/lib/python2.7/dist-packages

原文地址:http://jiayanjujyj.iteye.com/blog/1409819

时间: 2024-09-18 00:58:59

【转载】Python的包管理工具(进化关系)的相关文章

Python 包管理工具解惑

本文转载自http://zengrong.net/post/2169.htm,感谢原作者. 一.困惑 作为一个 Python 初学者,我在包管理上感到相当疑惑(嗯,是困惑).主要表现在下面几个方面: 这几个包管理工具有什么不同? distutils setuptools distribute disutils2 distlib pip 什么时候该用pip,什么时候该用 setup.py ,它们有关系么? easy_install.ez_setup.py.setup.py.setup.cfg 分别

Linux包管理工具yum简介

什么是yum: Yum(全称为 Yellow dog Updater, Modified)是redhat系列linux系统的包管理工具.就是类似windows下安装软件那个下一步下一步的东西.由于linux的开源,所以linux下的软件有大量组件依赖.这导致了linux安装一个软件必须先安装各依赖包,yum就是帮助我们解决这个的. yum的基础是RPM,RPM是由红帽公司开发的软件包管理方式,使用rpm我们可以方便的进行软件的安装.查询.卸载.升级等工作.但是RPM软件包之间的依赖性问题往往会很

《开源思索集》一基于包管理工具的开源生态圈

基于包管理工具的开源生态圈 开源思索集2005年,我还是一个典型的Java程序员.一个偶然的机会,我看到了一篇文章--<Ruby on Rails实践>. 在简单的试用之后,我于2005年05月27日在当年的JavaEye社区写了一篇热情洋溢的帖子:Java社群该向Ruby on Rails学习些什么? 当时的JavaEye站长Robbin回复到:"Python/Ruby是下一代的编程语言,Java是这一代的编程语言,要等到Python/Ruby流行,至少5年以后.正因为5年以后,所

前端包管理工具bower安装与介绍

什么是bower? Bower是一个客户端技术的软件包管理器,它可用于搜索.安装和卸载如JavaScript.HTML.CSS之类的网络资源.其他一些建立在Bower基础之上的开发工具,如YeoMan和Grunt 用我的话说就是,它跟PHP的Composer,Python的pip,Ubuntu的apt-get等一样,bower是一个前端的包管理工具,也就是你可以定义使用哪些包,如jquery,就可以方便的下载下来,统一管理. 使用bower 打开这个"后台管理"目录,结构如图: bow

Ubuntu包管理工具新立得图形化前端指南

新立得是http://www.aliyun.com/zixun/aggregation/13835.html">Ubuntu的包管理工具 apt, 的图形化前端.它结合了图形界面的简单操作和 apt-get 命令行工具的强大功能.您可以使用新立得安装.删除.配置.升级软件包,对软件包列表进行浏览.排序.搜索以及管理软件仓库或者升级整个系统.您可以进行一些系列操作形成操作队列,并一起执行它们.新立得会提示您可能的依赖关系(您所选择的软件包所需的额外软件包)以及您所选择的软件包与系统中已经安装

Web前端开发工具——bower依赖包管理工具_javascript技巧

Bower 是 twitter 推出的一款包管理工具,基于nodejs的模块化思想,把功能分散到各个模块中,让模块和模块之间存在联系,通过 Bower 来管理模块间的这种联系. 包管理工具一般有以下的功能: a)注册机制:每个包需要确定一个唯一的 ID 使得搜索和下载的时候能够正确匹配,所以包管理工具需要维护注册信息,可以依赖其他平台. b)文件存储:确定文件存放的位置,下载的时候可以找到,当然这个地址在网络上是可访问的. c)上传下载:这是工具的主要功能,能提高包使用的便利性.比如想用 jqu

基于Python 的进程管理工具supervisor使用指南_python

Supervisor 是基于 Python 的进程管理工具,只能运行在 Unix-Like 的系统上,也就是无法运行在 Windows 上.Supervisor 官方版目前只能运行在 Python 2.4 以上版本,但是还无法运行在 Python 3 上,不过已经有一个 Python 3 的移植版 supervisor-py3k. 什么情况下我们需要进程管理呢?就是执行一些需要以守护进程方式执行的程序,比如一个后台任务,我最常用的是用来启动和管理基于 Tornado 写的 Web 程序. 除此之

Linux中Debian系包管理工具apt-get用法

虽然网络上关于Debian的包管理工具apt-get的文章已经多到爆了,文武双全还是决定要总结一下apt-get的用法大全.这个东西,作为学习linux来说特别是debian是非常有用的.Ubuntu系操作系统,也是基于debian的发行版,因此本方法也适用.apt本身是英文Advanced Package Tool的首字母缩写,译为高级包管理工具,主要用于Debian系Linux发行版的软件包查询.安装.卸载.升级等.Centos发行版,使用yum包管理工具,本方法并不适用. 命令:apt-g

bower 强大的管理web包管理工具_其它综合

Bower介绍 bower官方地址:http://bower.io/ bower是twitter的又一个开源项目,使用nodejs开发,用于web包管理.如果越来越多得开源项目都托管在github上,bower只需要将github上项目加上一个配置文件既可以使用bower方式使用安装包.作为包管理,bower能提供添加新web包,更新web包,删除web包,发布web包功能,管理包依赖.web包通常认为由html+css+javascript构成. quick start: 解决实际问题 试想我