刚开始学习Python时,在看文档和别人的blog介绍安装包有的用easy_install, setuptools, 有的使用pip,distribute,那麽这几个工具有什么关系呢,看一下下面这个图就明白了

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

关于这些包工具可以参考 http://guide.python-distribute.org/installation.html#installing-pip

下面简单的介绍一下:

Distribute是对标准库disutils模块的增强,我们知道disutils主要是用来更加容易的打包和分发包,特别是对其他的包有依赖的包。

Distribute被创建是因为Setuptools包不再维护了。

安装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

Pip 是安装python包的工具,提供了安装包,列出已经安装的包,升级包以及卸载包的功能。

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

安装Pip

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

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

源代码方式:

$ wget http://pypi.python.org/packages/source/p/pip/pip-0.7.2.tar.gz (替换为最新的包)
$ tar xzf pip-0.7.2.tar.gz
$ cd pip-0.7.2
$ 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://www.yeolar.com/note/2012/08/18/setuptools-pip-virtualenv/

几个Python配置工具简介:setuptools、pip、virtualenv

本篇快速总结几个Python的常见配置工具,包括setuptools、pip、virtualenv。

setuptools

setuptools管理Python的第三方包,将包安装到site-package下,安装的包后缀一般为.egg,实际为ZIP格式。默认从 http://pypi.python.org/pypi 下载包,能够解决Python包的依赖关系。

安装了setuptools之后即可用 easy_install 命令安装包,有多种安装方式可以选择。

# easy_install PACKAGE          # 普通安装
# easy_install /home/yeolar/pkg/PACKAGE.egg # 从本地或网络文件系统中安装
# easy_install http://trac-hacks.org/svn/iniadminplugin/0.11/ # 从指定的下载路径安装
# easy_install http://pypi.python.org/simple/PACKAGE/PACKAGE-0.1.2.4.tar.gz # 从URL源码包安装,条件是PACKAGE-0.1.2.4.tar.gz包中的根目录中必须包括setup.py文件
# easy_install -f http://pypi.python.org/simple/ PACKAGE # 从web上面搜索包,并自动安装
# easy_install PACKAGE==0.1.2.1 # 指定包的版本,如果指定的版本高于现已安装的版本就是升级了
# easy_install -U PACKAGE # 升级到最新版本,不指定版本就会升级到最新版本
# easy_install -U PACKAGE==0.1.2.2 # 升级到指定版本
# easy_install -m PACKAGE # 卸载包,卸载后还要手动删除遗留文件

pip

pip也是一个包管理工具,它和setuptools类似,如果使用virtualenv,会自动安装一个pip。

# pip install PACKAGE           # 安装包
# pip -f URL install PACKAGE # 从指定URL下载安装包
# pip -U install PACKAGE # 升级包

virtualenv

virtualenv是一个Python环境配置和切换的工具,可以用它配置多个Python运行环境,和系统中的Python环境隔离,即所谓的沙盒。沙盒的好处包括:

  1. 解决库之间的版本依赖,比如同一系统上不同应用依赖同一个库的不同版本。
  2. 解决权限限制,比如你没有 root 权限。
  3. 尝试新的工具,而不用担心污染系统环境。
$ virtualenv py-for-web

这样就创建了一个名为py-for-web的Python虚拟环境,实际上就是将Python环境克隆了一份。然后可以用source py-for-web/bin/activate 命令来更新终端配置,修改环境变量。接下来的操作就只对py-for-web环境产生影响了,可以使用 pip 命令在这里安装包,当然也可以直接安装。

$ source py-for-web/bin/activate    # 启用虚拟环境
$ deactivate # 退出虚拟环境

有个virtualenv-sh包,对virtualenv做了一些终端命令的增强。安装之后,在~/.bashrc中添加配置:

. /usr/local/bin/virtualenv-sh.bash

它提供的几个常用的命令如:

mkvirtualenv <env_name>     在$WORKON_HOME创建虚拟环境
rmvirtualenv <env_name> 删除虚拟环境
workon [<env_name>] 切换到虚拟环境
deactivate 退出虚拟环境
lsvirtualenvs 列出全部的虚拟环境
cdvirtualenv [subdir] 进入虚拟环境的相应目录

$WORKON_HOME 的默认值为 ${HOME}/.virtualenvs 。

pip;python包管理工具的更多相关文章

  1. Python包管理工具——pip

    目录 Python pip pip相关命令 解决pip相关问题 Python pip Python最让人的喜欢的就是它有丰富的类库和各种第三方的包,而对于这些包的下载.删除等管理操作,就要用到包管理工 ...

  2. Python包管理工具pip的基本使用

    1.简介 pip 是一个Python包管理工具,主要是用于安装 PyPI 上的软件包,可以替代 easy_install 工具. 2.pip安装 如果你安装的Python 2 >=2.7.9 或 ...

  3. python 包管理工具 pip 的配置

    近几年来,python的包管理系统pip 越来越完善, 尤其是对于 windows场景下,pip大大改善了python的易用性. https://www.cnblogs.com/yvivid/p/pi ...

  4. python 包管理工具

    python 包管理工具 Python当前的包管理工具链是 easy_install/pip + distribute/setuptools + distutils,显得较为混乱. 而将来的工具链组合 ...

  5. Python 包管理工具解惑

    Python 包管理工具解惑 本文链接:http://zengrong.net/post/2169.htm python packaging 一.困惑 作为一个 Python 初学者,我在包管理上感到 ...

  6. Python包管理工具和多版本环境管理

    1. Python包管理工具 在安装Python包的过程中,经常涉及到distutils.setuptools.distribute.setup.py.easy_install.easy_instal ...

  7. 转载:Python 包管理工具解惑

    Python 包管理工具解惑 本站文章除注明转载外,均为本站原创或者翻译. 本站文章欢迎各种形式的转载,但请18岁以上的转载者注明文章出处,尊重我的劳动,也尊重你的智商: 本站部分原创和翻译文章提供m ...

  8. Python包管理工具小结

    此文已由作者张耕源授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 作为一名接触Python有一段时间的初学者,越来越体会到Python的方便之处,它使人能更 多的关注业务本身 ...

  9. python包管理工具他们之间的关系

    python包管理工具之间的关系 现在的python包管理工具有很多,非常混乱,必须理清他们之间的关系才能更好的使用python构建强大的包关系系统工具. 首先:python官方推荐的第三方库是PyP ...

随机推荐

  1. Gson?So easy.

    1.概述 这篇文章主要讲述了Gson的使用.包括从最基础的基本类型的序列化,到对象,数组,集合,再到Gson注解,Gson Builder,再到格式化,自定义序列化与反序列化等内容. 另外文章篇幅较长 ...

  2. 这一次,彻底搞懂 Go Cond

    hi,大家好,我是 haohongfan. 本篇文章会从源码角度去深入剖析下 sync.Cond.Go 日常开发中 sync.Cond 可能是我们用的较少的控制并发的手段,因为大部分场景下都被 Cha ...

  3. 一致性哈希做负载均衡,基于dubbo的简化版本,超级简单容易理解!!!

    一致性哈希算法原理以及做分布式存储.一定先看:一致性哈希算法 dubbo提供了四种负载均衡实现:权重随机算法,最少活跃调用数算法,一致性哈希算法,加权轮询算法. 本文基于开源项目:guide-rpc- ...

  4. math random模块

    math --- 数学函数 该模块提供了对C标准定义的数学函数的访问,返回值除非有明确说明,否则所有返回值均为浮点数 math.ceil(x) 返回 x 的上限,即大于或者等于 x 的最小整数. 如果 ...

  5. C#如何优雅的多表读取

    关键词:C#.SqlDataReader.IDataReader.NextResult().Read(). Load().Dapper.多表,方便索引和搜索 最近有个需求,需要读一下模具系统的模具信息 ...

  6. win10 添加全局快捷键

    前言 好久没写博客了,今天水一下 如何在win10 下添加一个全局唤醒的快捷键(打开截图软件) 步骤 win + Q 输入 管理工具 添加快捷方式 这里没有管理员权限,可以直接把创建好的 快捷方式 粘 ...

  7. 转载:java.math.BigDecimal 比较大小

    BigDecimal a = new BigDecimal (101); BigDecimal b = new BigDecimal (111); //使用compareTo方法比较 //注意:a.b ...

  8. 修正js跳转

    var urls = new Array();urls["pc"] = "./hp"; //pcurls["sj"] = "./h ...

  9. 阿里云《nginx服务器配置SSL证书》 配置参数

    server { listen 443; server_name demo.shengruijt25.com; ssl on; root html; index index.html index.ht ...

  10. 【MRR】转-MySQL 的 MRR 优化

    MRR,全称「Multi-Range Read Optimization」. 简单说:MRR 通过把「随机磁盘读」,转化为「顺序磁盘读」,从而提高了索引查询的性能. 至于: 为什么要把随机读转化为顺序 ...