
5.2 如何安装外部模块
有多种方法可以安装外部模块,这里只介绍比较简单、容易上手的两种安装方法。
5.2.1 升级安装工具
在讨论第一种安装方法以前,首先讨论安装模块(安装工具)的升级问题。
进入命令行窗口,执行“python -m pip install -U pip setuptools”命令,对安装外部模块的安装工具setuptools进行升级,如图5-1所示。

图5-1 对安装工具setuptools进行升级
完成安装工具setuptools的升级后,出现的界面如图5-2所示。

图5-2 安装工具setuptools升级完成的界面
由于在安装Python后正确设置了环境变量,所以,从图5-2所示的升级结果中可以看到,升级后的安装工具默认存储在“D:\python364\Lib\site-packages”文件夹下,如图5-3所示。

图5-3 安装工具setuptools的存储路径
完成升级后,可通过easy_install命令安装外部模块(第三方模块)。easy_install是由PEAK(Python Enterprise Application Kit)开发的,它是setuptools工具包自带的一个命令,所以,使用easy_install实际上是在调用setuptools。
另外,还有一个安装工具pip。升级安装工具pip的方法如下:
python -m pip install --upgrade pip
在cmd方式下,执行上述命令后,得到的界面如图5-4和图5-5所示。

图5-4 pip升级进程示意

图5-5 pip升级完成后的界面示意
不过,要加以说明的是,上述方法升级的是pip这个安装工具,它是Python自带的用于发布Python应用程序的模块。
5.2.2 使用pip安装外部模块
强烈建议使用pip安装外部模块,因为通过源码安装的方法比较烦琐。
例如,在cmd方式下,输入“python -m pip install matplotlib”命令安装matplotlib模块,系统会自动下载安装包并启动安装,如图5-6所示。

图5-6 安装外部模块matplotlib的命令与过程
安装完成后的界面如图5-7所示。从图中可以看出,为了安装matplotlib这个第三方模块,在安装过程中,pip自动安装了与它相关联的多个外部模块,包括numpy、six、cycler、pytz、pyparsing等。

图5-7 外部模块matplotlib安装完成后的界面
安装完成后,可使用命令“python -m pip list”查看本机已经安装的所有模块。这样做的目的是,通过查看以确定matplotlib模块是否安装成功。图5-8所示就是该命令查看的结果。

图5-8 查看本机已经安装的所有模块
由图5-8可见,matplotlib模块已经安装成功。为了进一步确认该模块是否安装成功,还必须试用一次。方法是:进入Python IDLE,执行“import matplotlib”语句,如图5-9所示。执行该语句后,如果没有报错提示,则说明该模块安装成功了。

图5-9 引用matplotlib模块正常
5.2.3 使用easy_install安装外部模块
安装程序easy_install有多种使用形式,此处只讨论其中的4种。
1.形式1——通过模块名安装
通过模块名安装一个外部模块,此法将自动通过PyPI搜寻得到被安装的外部模块的最新版本,自动下载并安装该模块。
例如,在通过cmd命令进入命令行方式后,执行以下命令:
easy_install SQLObject
系统将自动搜寻并安装SQLObject外部模块,如图5-10所示。

图5-10 用easy_install安装SQLObject外部模块的过程
2.形式2——通过互联网安装
通过指定链接下载页面,以库名、库版本的方式安装、更新指定的外部模块。
例如,在通过cmd命令进入命令行方式后,输入并执行以下命令,同样可以安装外部模块SQLObject。
easy_install -f http://pythonpaste.org/package_index.html SQLObject
3.形式3——安装.egg文件
安装已经下载好的.egg安装包文件。
如zope.interface-4.1.2-py2.7-win32.egg,它是zope.interface外部模块的安装包文件。Python虽然支持多继承,但是不支持接口,而zope.interface是第三方的接口实现库,它在twisted中被广泛使用。因此,zope.interface是一个重要的外部模块。
如果要通过此法安装zope.interface模块,则必须在命令行方式下输入并执行以下命令。当然,事前要确保它已被正确下载并存储在有关路径下。
easy_install /my_downloads/zope.interface-4.1.2-py2.7-win32.egg
4.形式4——升级已经安装的外部模块
此法将自动搜寻PyPI以获得最新版本信息,并根据情况自动下载和安装指定的模块。
例如,在命令行方式下输入以下命令,可升级已经安装的numpy模块。
easy_install --upgrade numpy
执行上述命令后,安装过程如图5-11所示。

图5-11 easy_install升级numpy模块的过程