自己走了很多彎路,總結下:
各個安裝包版本:
scipy-0.16.1
numpy-1.9.2
nose-1.3.7
lapack-3.5.0
atlas-3.10.2
sklearn-0.16.1
安裝步驟:
1、安裝nose
這個安裝比較簡單,解壓縮nose的安裝文件,進入nose的目錄,直接運行setup.py即可:
tar -zxvf nose-1.3.7.tar.gz
cd nose-1.2.1
python setup.py install
2、安裝lapack
由於最新版本的ATLAS可以直接集成lapack的安裝壓縮文件進行編譯,因此,如果僅在python下使用的話,可以不用安裝lapack。只需要下載壓縮文件:lapack-3.5.0.tgz 即可。
3、安裝ATLAS
這個的安裝主要是配置一些選項,包括配置成64位庫文件、位置無關的以及共享的鏈接庫。詳細的配置說明在atlas安裝包 doc/ 下的pdf文件中。可查閱。
下面是我的安裝過程:
tar -jxvf atlas3.10.0.tar.bz2
cd ATLAS
mkdir myobj64
cd myobj64
檢查下是否安裝
gcc -v
g++ -v
gfortran -v
yum install -y gcc #安裝gcc
yum -y install gcc-c++ #安裝gcc-c++
yum -y install gcc-gfortran #安裝gfortran
../configure -b 32 -Fa alg -fPIC -shared -prefix=/配置atlas的安裝路徑/ATLAS --with-netlib-lapack-tarfile=/lapack安裝壓縮文件存放的目錄/lapack-3.5.0.tgz
ps:這個配置過程時間很長,我在虛擬機上跑了好幾個小時。。。渣機器傷不起。。。最後還報了錯,不過直接忽略了,最後全部裝好,還是能用的。。
然後是:
make
make check
make time
make install
至此,atlas安裝完成。不過我們要記錄下編譯過程中所用的fortran編譯器類型,這個信息在下面安裝numpy和scipy的時候要用。還是在目錄 myobj64/ 下,執行
fgrep "F77 =" Make.inc
可以看到 F77 = gfortran
記下這個編譯器類型 gfortran.
4.安裝 numpy
首先配置numpy目錄下的site.cfg文件,指明atlas庫的位置:
下載地址: https://pypi.python.org/pypi/numpy
下載最新版本: numpy-1.9.0.tar.gz
tar -zxvf numpy-1.9.0.tar.gz
cd numpy-1.9.0
接下來是配置 site.cfg文件。這是網上有些文章是這麼介紹的,我也照做了,後來發現 不去配置也沒關係。因此我建議先不去配置,直接安裝:
python setup.py install
如果安裝沒有報錯了。。那就不要配置site.cfg了
如果安裝報錯,進行如下操作:
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的話,執行:
pythonsetup.py build --fcompiler=gnu95
如果前面得到的Fortran編譯器是g77的話,執行:
python setup.py build --fcompiler=gnu
然後執行
python setup.py install
安裝完成
如果安裝報“SystemError: Cannot compile 'Python.h'. Perhaps you need to install python-dev|python-devel”,執行下:
yum install python-devel
5.安裝scipy(已安裝gfortran)
下載地址:
https://pypi.python.org/pypi/scipy,下載最新版本:scipy-0.15.1.tar.gz
先要安裝,blas
隨便找一個目錄,下載blas
wget http://www.netlib.org/blas/blas.tgz
tar xzf blas.tgz
cd BLAS
#gfortran -O2 -std=legacy -fno-second-underscore -c *.f # with gfortran
gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f
# Continue below irrespective of compiler:
ar r libfblas.a *.o
ranlib libfblas.a
rm -rf *.o
export BLAS=~/自己的目錄/BLAS/libfblas.a
然後再把第2步下載的lapack-3.5.0.tgz 解壓出來
tar xzf lapack.tgz
cd lapack-*/
cp INSTALL/make.inc.gfortran make.inc # on Linux with lapack-3.2.1 or newer
vim make.inc
添加
make.inc file by setting OPTS = -O2 -fPIC and NOOPT = -O0 -fPIC
make lapacklib
make clean
export LAPACK=~/自己的目錄/lapack-*/liblapack.a
最後,終於可以安裝 scipy了,然後網上有些文章又說要配置site.cfg。可我在 解壓出來的文件夾裏更笨找不到這個site.cfg文件。所以直接跳過這一步了。
回到剛纔的scipy目錄
cd scipy-0.14.0
安裝
python setup.py install
6、驗證
打開 python,注意在打開python之前 不能在scipy這些目錄下,否則 在 import scipy的時候會報錯。
>>> import nose
>>> nose
<module 'nose' from '/usr/local/lib/python2.6/dist-packages/nose-1.3.4-py2.6.egg/nose/__init__.pyc'>
>>> import numpy
>>> numpy
<module 'numpy' from '/usr/local/lib/python2.6/dist-packages/numpy/__init__.pyc'>
>>> import scipy
>>> scipy
<module 'scipy' from '/usr/local/lib/python2.6/dist-packages/scipy/__init__.pyc'>
>>>
7、安裝sklearn
下載地址:http://pypi.python.org/pypi/scikit-learn/
解壓:
tar -zxvf scikit-learn-0.16.1.tar.gz
安裝:
python setup.py install