Python包管理:pip、easy_install、eggs和wheel

1. pip

pip 是一个安装和管理 Python 包的工具 , 是 easy_install 的一个替换品。

distribute是setuptools的取代(Setuptools包后期不再维护了)。

pip的安装需要setuptools 或者 distribute,如果你使用的是Python3.x那么就只能使用distribute因为Python3.x不支持setuptools。

pip 可以利用 requirments.txt 来实现在依赖的安装。在 setup.py 中,也存在一个install_requires 表来指定依赖的安装。它们的区别在哪里?可以看这篇文章: setup.py vs requirements.txt (中文版) 。

pip 可以直接从 gz 或者 zip 压缩包安装。

下面来看一下pip的使用:

安装特定版本的package,通过使用==, >=, <=, >, <来指定一个版本号。

 

pip install 'Markdown<2.0'

pip install 'Markdown>2.0,<2.0.3'



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

pip install -U Markdown

列出安装的packages

$ pip freeze

$pip list


查看某个已安装包的详细信息:

# pip show --files SomePackage
  Name: SomePackage
  Version: 1.0
  Location: /my/env/lib/pythonx.x/site-packages
  Files:
   ../somepackage/__init__.py
   [...]

检查哪些包需要更新:

# pip list --outdated
  SomePackage (Current: 1.0 Latest: 2.0)

查看帮助:

$pip --help

2. easy_install

easy_install SQLObject
下载一个包文件,然后安装它:
easy_install http://example.com/path/to/MyPackage-1.2.3.tgz
从一个 .egg 格式安装:
easy_install /my_downloads/OtherPackage-3.2.1-py2.3.egg
distribute 是 setuptools 的一个分支版本。分支的原因可能是有一部分开发者认为 setuptools 开发太慢了。但现在,distribute 又合并回了 setuptools 中。因此,我们可以认为它们是同一个东西。
事实上,如果你查看一下 easy_install 的版本,会发现它本质上就是 setuptools 。
# easy_install --version
setuptools 3.3

3. Eggs

Eggs 格式是 setuptools 引入的一种文件格式,用于 Python 模块的安装。

setuptools 可以识别这种格式。并解析它,安装它。

4. wheel

wheel 本质上是一个 zip 包格式,用于 python 模块的安装,它的出现是为了替代 Eggs。

pip也可以直接安装wheel包。

如果发布模块,推荐使用 wheel 格式。


你可能感兴趣的:(openstack)