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,方便快捷,有利于机器学习算法代码的编写。