2.2 計算平臺的配置
本章將以Windows平臺和Linux平臺為例娃循,講解R和Python科學計算平臺的配置特恬。Python和R具有跨平臺運行的特點换棚,Windows平臺編寫的Python和R代碼只需修正兼容性問題即可正常運行在類UNIX平臺上酝陈,如:中文字符的UTF8與GBK轉換营罢、Windows系統(tǒng)與類UNIX平臺的文件路徑差異等豺型。
2.2.1 Numpy等Python科學計算包的安裝與配置
Python科學計算包有兩種安裝方式仲智,即:分別安裝科學計算平臺內(nèi)的軟件包和安裝WinPython 集成計算包。
1. 分別安裝科學計算平臺內(nèi)的軟件包
先安裝Python姻氨,關于它的版本钓辆,推薦使用2.7版本,然后安裝NumPy、SciPy岩馍、matplotlib等Python軟件包碉咆,它們都有Windows系統(tǒng)下的安裝包。
Python 安裝包的下載頁面為http://www.python.org/download/蛀恩,選擇2.7版本的Windows安裝可執(zhí)行文件下載即可疫铜。
NumPy安裝包下載頁面為https://pypi.python.org/pypi/numpy,下載Windows版本的安裝可執(zhí)行文件即可双谆。
SciPy安裝包下載頁面為https://pypi.python.org/pypi/scipy/壳咕,該軟件包目前沒有Windows版本的安裝執(zhí)行文件,要用傳統(tǒng)的Python安裝第三方軟件包的方式安裝顽馋,將安裝包下載解壓谓厘,然后在命令行進入解壓目錄,輸入以下命令:
python?setup.py?install
Matplotlib軟件包的下載頁面為http://matplotlib.org/downloads.html寸谜,下載Windows版本的安裝可執(zhí)行文件即可竟稳,注意應下載Latest stable version對應的軟件包。Windows版本的安裝可執(zhí)行文件通常命名格式為:產(chǎn)品名稱+平臺名稱+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開發(fā)調試環(huán)境:Spyder乾巧,如圖2-2所示是Spyder的界面截圖句喜。
在圖2-2所示的界面中,右上角是類似于MATLAB的“工作空間”沟于,可很方便地觀察和修改變量(包含多維數(shù)組)的值咳胃,同時還擁有方便用戶的智能代碼(Call-Tips和
Auto-Complete)功能,如圖2-3所示旷太。
在IDE開發(fā)窗口下方的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):讓程序跳轉到指定的行數(shù)冗栗。
?b(reak):設置斷點,例如“b 23”供搀,就是在當前腳本的23行打上斷點隅居,函數(shù)名也可作為參數(shù)。
?condition:設置條件斷點葛虐。下面語句就是對第5個斷點加上條件x>=8:
(Pdb) condition 5 x>=8
?cl(ear):清除指定參數(shù)的斷點或所有斷點胎源。
?p:打印某個變量。比如:
(Pdb) p _file
u’./pic/dog.jpg’
?S炱辍:感嘆號后面跟著語句涕蚤,可以直接改變某個變量。
?q(uit):退出調試的诵。
綜上所述赞季,在Spyder的幫助下,能更高效地開發(fā)與調試Python代碼奢驯,因此筆者推薦在開發(fā)環(huán)境中安裝WinPython,方便快捷次绘,有利于機器學習算法代碼的編寫瘪阁。