Python全案例学习与实践
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

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模块的过程