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 压缩包安装。
安装特定版本的package,通过使用==,>=,<=,>,<来指定一个版本号。
<textareareadonly="readonly"name="code"class="c++">
pip install 'Markdown<2.0'
pip install 'Markdown>2.0,<2.0.3'
</textarea>
升级包到当前最新的版本,可以使用-U 或者 --upgrade
pip install -U Markdown
列出安装的packages
$ pip freeze
或
$pip list
查看某个已安装包的详细信息:
# pip show --files SomePackageName: 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 格式。