Python下科學計算包numpy和SciPy的安裝


Python下大多數工具包的安裝都很簡單,只需要執行 “python setup.py install”命令即可。然而,由於SciPy和numpy這兩個科學計算包的依賴關系較多,安裝過程較為復雜。網上教程較為混亂,而且照着做基本都不能用。在仔細研讀各個包里的README和INSTALL之后,終於安裝成功。現記錄如下。

 

系統環境:

OS:RedHat5

Python版本:Python2.7.3

gcc版本:4.1.2

 

各個安裝包版本:

scipy-0.11.0

numpy-1.6.2

nose-1.2.1

lapack-3.4.2

atlas-3.10.0

 

依賴關系:scipy的安裝需要依賴於numpy、lapack、atlas(后兩者都是線性代數工具包,不清楚的自行google之。。。),而numpy和sci的測試程序的運行又依賴於nose,因此,整個安裝過程必須要按順序執行的,否則是無法執行下去的。

 

安裝步驟:

1、安裝nose

這個安裝比較簡單,解壓縮nose的安裝文件,進入nose的目錄,直接運行setup.py即可:

tar -zxvf nose-1.2.1.tar.gz

cd nose-1.2.1

python setup.py install

 

2、安裝lapack

由於最新版本的ATLAS可以直接集成lapack的安裝壓縮文件進行編譯,因此,如果僅在python下使用的話,可以不用安裝lapack。只需要下載壓縮文件:lapack-3.4.2.tgz 即可。

 

3、安裝ATLAS

這個的安裝主要是配置一些選項,包括配置成64位庫文件、位置無關的以及共享的鏈接庫。詳細的配置說明在atlas安裝包 doc/ 下的pdf文件中。可查閱。

下面是我的安裝過程:

tar -jxvf atlas3.10.0.tar.bz2

cd ATLAS

mkdir obj64

../configure -b 64 -Fa alg -fPIC -shared --prefix=/配置atlas的安裝路徑/atlas --with-netlib-lapack-tarfile=/lapack安裝壓縮文件存放的目錄/lapack-3.4.2.tgz

(注:這個配置時間非常長,在Core i7 處理上,大概1個小時左右)

make

(下面是一些檢查過程,保證沒有問題之后再進行安裝)

make check

make time

make install

至此,atlas安裝完成。不過我們要記錄下編譯過程中所用的fortran編譯器類型,這個信息在下面安裝numpy和scipy的時候要用。還是在目錄 obj64/ 下,執行

fgrep "F77 =" Make.inc
可以看到  F77 = gfortran
記下這個編譯器類型 gfortran.

 

4、安裝numpy

numpy和scipy的安裝過程都要顯式的指明所用fortran編譯器的類型,而且要與前面編譯atlas時一致(在本文中即:gfortran),這一點非常重要,否則很多功能都會出錯。

首先配置numpy目錄下的site.cfg文件,指明atlas庫的位置:

tar -zxvf numpy-1.6.2.tar.gz

cd numpy-1.6.2

cp site.cfg.example site.cfg

vim site.cfg

配置成如下格式:

[DEFAULT]
library_dirs = /usr/local/lib:/atlas的安裝目錄/atlas/lib
include_dirs = /usr/local/include:/atlas的安裝目錄/include

[blas_opt]
libraries = f77blas, cblas, atlas

[lapack_opt]
libraries = lapack, f77blas, cblas, atlas

[amd]
amd_libs = amd
[umfpack]
umfpack_libs = umfpack

 

接下來配置安裝numpy所需要的Fortran編譯器類型:

如果前面得到的Fortran編譯器是gfortran的話,執行:

 python setup.py build --fcompiler=gnu95

如果前面得到的Fortran編譯器是g77的話,執行:

 python setup.py build --fcompiler=gnu

 

然后執行

python setup.py install

安裝完成

 

5、安裝scipy

與安裝numpy類似:

tar -zxvf scipy-0.11.0.tar.gz

cd scipy-0.11.0

vim site.cfg

配置成如下格式:

[DEFAULT]
library_dirs = /usr/local/lib:/atlas的安裝目錄/atlas/lib
include_dirs = /usr/local/include:/atlas的安裝目錄/include

[blas_opt]
libraries = f77blas, cblas, atlas

[lapack_opt]
libraries = lapack, f77blas, cblas, atlas

[amd]
amd_libs = amd
[umfpack]
umfpack_libs = umfpack

 

接下來配置安裝numpy所需要的Fortran編譯器類型:

如果前面得到的Fortran編譯器是gfortran的話,執行:

 python setup.py build --fcompiler=gnu95

如果前面得到的Fortran編譯器是g77的話,執行:

 python setup.py build --fcompiler=gnu

 

然后執行

python setup.py install

安裝完成

 

然后可以在python下執行相應的測試程序:

python

>>> import nose

>>> import numpy

>>> import scipy

>>> numpy.test('full')

等待。。。。

>>> scipy.test('full')

 

到這里,整個安裝過程結束。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM