2.2 计算平台的配置

本章将以Windows平台和Linux平台为例,讲解R和Python科学计算平台的配置。Python和R具有跨平台运行的特点,Windows平台编写的Python和R代码只需修正兼容性问题即可正常运行在类UNIX平台上,如:中文字符的UTF8与GBK转换、Windows系统与类UNIX平台的文件路径差异等。

2.2.1 Numpy等Python科学计算包的安装与配置

Python科学计算包有两种安装方式,即:分别安装科学计算平台内的软件包和安装WinPython 集成计算包。

1. 分别安装科学计算平台内的软件包

先安装Python,关于它的版本,推荐使用2.7版本,然后安装NumPy、SciPy、matplotlib等Python软件包,它们都有Windows系统下的安装包。

Python 安装包的下载页面为http://www.python.org/download/,选择2.7版本的Windows安装可执行文件下载即可。

NumPy安装包下载页面为https://pypi.python.org/pypi/numpy,下载Windows版本的安装可执行文件即可。

SciPy安装包下载页面为https://pypi.python.org/pypi/scipy/,该软件包目前没有Windows版本的安装执行文件,要用传统的Python安装第三方软件包的方式安装,将安装包下载解压,然后在命令行进入解压目录,输入以下命令:

python setup.py install

Matplotlib软件包的下载页面为http://matplotlib.org/downloads.html,下载Windows版本的安装可执行文件即可,注意应下载Latest stable version对应的软件包。Windows版本的安装可执行文件通常命名格式为:产品名称+平台名称+CPU型号+版本号。以Matplotlib为例,打开其下载页面,如图2-1所示。

假设计算机的CPU是32位,Python版本号为2.7,则下载安装matplotlib-1.3.0.win32-py2.7.exe,如果CPU是64位的,Python版本号为2.7,则下载安装matplotlib-1.3.0.win-amd64-py2.7.exe。

在类UNIX平台上(以UBUNTU为例),可使用下面的命令安装Python及相关科学计算包:

sudo apt-get install python-numpy python-scipy python-matplotlib ipython ipython-notebook python-pandas python-sympy python-nose

2. 安装WinPython 集成计算包

WinPython 集成计算包集成了Numpy等第三方Python科学计算库,安装WinPython 后,Numpy等计算库和Python

2.7会一同被安装。此外,WinPython 附带一款非常不错的IDE开发调试环境:Spyder,如图2-2所示是Spyder的界面截图。

在图2-2所示的界面中,右上角是类似于MATLAB的“工作空间”,可很方便地观察和修改变量(包含多维数组)的值,同时还拥有方便用户的智能代码(Call-Tips和

Auto-Complete)功能,如图2-3所示。

在IDE开发窗口下方的Console栏可以使用pdb(类似于C语言的GDB调试工具)调试Python代码,也可以通过Spyder的调试菜单进行调试。下面是pdb调试工具的使用帮助:

>>>debugfile(r'K:\book_prog\zxecf.py',wdir=r'K:\book_prog')
>k:\book_prog\zxecf.py(7)()
->import matplotlib.pyplot as plt
(pdb) help
Documented commands (type help):
========================================
EOF    bt         cont      enable  jump  pp       run      unt
a      c          continue  exit    l     q        s        until
alias  cl         d         h       list  quit     step     up
args   clear      debug     help    n     r        tbreak   w
b      commands   disable   ignore  next  restart  u        whatis
break  condition  down      j       p     return   unalias  where

常用的pdb调试命令如下:

�h(elp):打印当前版本pdb可用的命令。

�disable/enable:禁用/启用断点。

�n(ext):让程序运行下一行。

�c(ont(inue)):让程序正常运行,直到遇到断点。

�j(ump):让程序跳转到指定的行数。

�b(reak):设置断点,例如“b 23”,就是在当前脚本的23行打上断点,函数名也可作为参数。

�condition:设置条件断点。下面语句就是对第5个断点加上条件x>=8:

(Pdb) condition 5 x>=8

�cl(ear):清除指定参数的断点或所有断点。

�p:打印某个变量。比如:

(Pdb) p _file

u’./pic/dog.jpg’

�!:感叹号后面跟着语句,可以直接改变某个变量。

�q(uit):退出调试。

综上所述,在Spyder的帮助下,能更高效地开发与调试Python代码,因此笔者推荐在开发环境中安装WinPython,方便快捷,有利于机器学习算法代码的编写。