linux下python安裝 nose lapack atlas numpy scipy sklearn

自己走了很多彎路,總結下:

各個安裝包版本:
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


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章