標籤:
系統內容:
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(後兩者都是線性代數工具包),而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 -zxvfnumpy-1.6.2.tar.gz
cd numpy-1.6.2
cp site.cfg.examplesite.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.pybuild --fcompiler=gnu95
如果前面得到的Fortran編譯器是g77的話,執行:
python setup.pybuild --fcompiler=gnu
然後執行
python setup.pyinstall
安裝完成
5、安裝scipy
與安裝numpy類似:
tar -zxvfscipy-0.11.0.tar.gz
cdscipy-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.pybuild --fcompiler=gnu95
如果前面得到的Fortran編譯器是g77的話,執行:
python setup.pybuild --fcompiler=gnu
然後執行
python setup.pyinstall
安裝完成
然後可以在python下執行相應的測試程式:
python
>>>import nose
>>> import numpy
>>>import scipy
>>>numpy.test(‘full‘)
>>>scipy.test(‘full‘)
REF:
http://blog.sina.com.cn/s/blog_62dfdc740101aoo6.html
Linux下Python科學計算包numpy和SciPy的安裝