在Python中安装包的三种方法

最近一段时间都在学习 Python3(如果你想部署 Python3 的开发环境,可参考《是时候配置一个Python3的开发环境了》),乘此机会重新回顾了 Python2 的相关知识,在 Python 中,如果想引入第三方包和库,可以通过工具安装,那么这些安装工具背后做了什么是我非常关心的,这篇本文解释了相关知识:

下面这张图简单解释了包之间的关系:

在我学习 PHP 的时候,没有一种很好的包安装工具(现在可以使用 Composer),而 Python 在标准化方面做的更好。

再一次申明

python 有多种类型的包工具

这些工具本来就是 Python 的一个包,如果开发者想编写、发布一个包,必须基于这些包进行开发。

发布的包有三种类型

开发者可以基于 Distutils 或 Setuptools 生成这三种类型的包。

安装包

(1)源码安装

可以手动下载第三方包,然后手动安装。

$ wget "/ywdblogmath-0.1.tar.gz"
$ tar xvf ywdblogmath-0.1.tar.gz 
$ cd ywdblogmath-0.1/ 
$ python setup.py install 

安装或更新文件如下:

某些被安装的包可能包含 C 代码,所以需要 gcc 这样的工具编译。

(2)easy_install

如果想要使用 easy_install 安装第三方包,需要先安装 setuptools,如果本机没有安装,可以采用源码方式安装,比如:

# 下载 .zip 包
$ python setup.py  install

easy_install 支持从 Pypi(tar.gz或egg包)、URL、本地目录安装软件包:

# 从 Pypi 安装最新的包,可能是 tar.gz 或 egg 包
$ easy_install  ywdblogmath 

# 安装 tar.gz 类型的包
$ easy_install "https://files.pythonhosted.org/packages/96/66/43e6df87373557553be2b4343db27d008c6dcefa110ccff38cba1459ca07/ywdblogmath-0.1.tar.gz" 

# 安装 egg 包
# easy_install "/ywdblogmath-0.3-py2.7.egg" 

# 本地目录包含 ywdblogmath 的源码 
$ easy_install /root/python

如果安装的是一个 tar.gz 或 egg 的压缩包,安装后会出现相关文件,如下:

特别说明:

(3)pip

如果本机没有安装 pip,可以使用 easy_install 工具安装。

pip 常用命令:

$ pip list 
$ pip install ywdblogmath 
$ pip install ywdblogmath -U 
$ pip show ywdblogmath 

安装 tar.gz 包:

$ pip install "/ywdblogmath-0.1.tar.gz"  

安装后会出现相关文件,如下:

安装 wheel 包:

$ pip install "3da07dfdb949cd6d3e/ywdblogmath-0.4-py2-none-any.whl"

安装后会出现相关文件,如下: