linux python 安装 nose lapack atlas numpy scipy
来源:互联网 发布:软考数据库工程师真题 编辑:程序博客网 时间:2024/05/22 14:25
The first step of machine larning .
环境配置:
OS:ubuntu 10.04
Python :Python 2.6.5
1.安装nose
这个安装还比较顺利,基本没报错。。。
下载nose: https://nose.readthedocs.org/en/latest/
cd nose-1.3.4python setup.py install检验安装成功:#python>>> import nose>>> nose<module 'nose' from '/usr/local/lib/python2.6/dist-packages/nose-1.3.4-py2.6.egg/nose/__init__.pyc'>>>>
2.安装 lapack
官方下载地址: http://www.netlib.org/lapack/
我下的是lapack-3.5.0.tgz。下好了,暂时放着,后面有用。。。
3.安装atlas
下载地址: http://sourceforge.net/projects/math-atlas/,下载最新版本:atlas3.10.2.tar.bz2 (下载日期:2014-10-26)
tar -jxvf atlas3.10.2.tar.bz2 cd ATLASmkdir myobj64cd myobj64
配置configure:
第一种配置方式(笔者使用第一种方式的,第二种没试过):../configure -b 32 -Fa alg -fPIC -shared –prefix=/配置atlas的安装路径/ATLAS -–with-netlib-lapack-tarfile=/lapack安装压缩文件存放的目录/lapack-3.5.0.tgz
-–with-netlib-lapack-tarfile 这个编译选项 前面是 ‘--’ 2个 横杆。网上很多都是一个的,一顿报错了。。看了里面的configure源文件才知道。。。
第二种配置方式:
sudo ../configure -b 64 -D c -DPentiumCPS=3901.000 -Fa alg -fPIC –prefix=/opt/atlas3.10.2/ -–with-netlib-lapack-tarfile=/opt/lapack-3.5.0/lapack-3.5.0.tgz其中的参数说明如下: -b 指定编译出库的类型(32位库还是64位库)根据自己的机器来设置 -D c -DPentiumCPS 是指定你的CPU的时钟频率,可以通过 grep MHz /proc/cpuinfo 得到numpy_scipy/ATLAS/my64Obj$ grep MHz /proc/cpuinfo cpu MHz : 3901.000 cpu MHz : 3901.000 cpu MHz : 3901.000 cpu MHz : 3901.000 -Fa alg -fPIC 得到与位置无关的代码,生成动态的共享库 –prefix 为安装路径 -–with-netlib-lapack 则是制定lapack库文件(此时lapack库文件还没有生成,先随便指定一个)
执行上述命令出错,提示Unable to find usable compiler for F77; abortingMake sure compilers are in your path, and specify good compilers to configure(see INSTALL.txt or ‘configure –help’ for details)make[1]: *** [atlas_run] Error 8make[1]: Leaving directory `/home/homer/Downloads/tool_server/python/numpy_scipy/ATLAS/my64Obj’make: *** [IRun_comp] Error 2ERROR 512 IN SYSCMND: ‘make IRun_comp args=”-v 0 -o atlconf.txt -O 1 -A 26 -Si nof77 0 -V 480 -Fa ic ‘-fPIC’ -Fa sm ‘-fPIC’ -Fa dm ‘-fPIC’ -Fa sk ‘-fPIC’ -Fa dk ‘-fPIC’ -Fa xc ‘-fPIC’ -Fa gc ‘-fPIC’ -Fa if ‘-fPIC’ -b 64″‘mkdir src bin tune interfacescd src ; mkdir testing auxil blas lapack pthreads threadscd src/blas ; \ mkdir f77reference reference gemv ger gemm kbmm \ level1 level2 level3 pklevel3这是因为Ubuntu系统没有F77编译器,需要安装,安装命令如下:sudo apt-get install fort77
ps:这个配置过程时间很长,我在虚拟机上跑了好几个小时。。。渣机器伤不起。。。最后还报了错,不过直接忽略了,最后全部装好,还是能用的。。
然后是:
make
make check
make time
make install
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.gzcd numpy-1.9.0接下来是配置 site.cfg文件。这是网上有些文章是这么介绍的,我也照做了,后来发现 不去配置也没关系。因此我建议先不去配置,直接安装:
python setup.py install
如果安装没有报错了。。那就不要配置site.cfg了
ps:配置site.cfg文件的方式可以看底下的参考文献。
5.安装scipy(大坑来了。。。)
下载地址: https://pypi.python.org/pypi/scipy,下载最新版本:scipy-0.14.0.tar.gz
tar -zxvf scipy-0.14.0.tar.gz
cd scipy-0.14.0
然后网上有些文章又说要配置site.cfg。可我在 解压出来的文件夹里更笨找不到这个site.cfg文件。所以直接跳过这一步了。
然后执行
python setup.py install
又是一顿报错。。。。
找到了 stackoverflow上同样的问题以及答案。
Python scipy needs BLAS?
原来在 安装 scipy之前 还要安装 blas
随便找一个目录,下载blas
wget http://www.netlib.org/blas/blas.tgztar xzf blas.tgzcd BLAS## NOTE: The selected fortran compiler must be consistent for BLAS, LAPACK, NumPy, and SciPy.## For GNU compiler on 32-bit systems:#g77 -O2 -fno-second-underscore -c *.f # with g77#gfortran -O2 -std=legacy -fno-second-underscore -c *.f # with gfortran## OR for GNU compiler on 64-bit systems:#g77 -O3 -m64 -fno-second-underscore -fPIC -c *.f # with g77gfortran -O3 -std=legacy -m64 -fno-second-underscore -fPIC -c *.f # with gfortran## OR for Intel compiler:#ifort -FI -w90 -w95 -cm -O3 -unroll -c *.f# Continue below irrespective of compiler:ar r libfblas.a *.oranlib libfblas.arm -rf *.oexport BLAS=~/自己的目录/BLAS/libfblas.a
这里有4种编译方式,分别是 32位和64机器的情况,以及 g77和gfortran编译器的情况。笔者的机器是32位,g77和gfortran编译器都没装。刚开始打算安装g77,发现这个编译器几乎要淘汰了,安装包都找不到。
于是安装了gfortran
按照下述操作即可
sudo apt-get update
sudo apt-get install gfortran
然后选择上面的 编译指令
gfortran -O2 -std=legacy -fno-second-underscore -c *.f
ar r libfblas.a *.oranlib libfblas.arm -rf *.o
查看下BLAS目录,确认生成了libfblas.a.
export BLAS=/自己的目录/BLAS/libfblas.a #这边很重要,不然后面安装scipy要报错的。。。
然后再把第2步下载的lapack-3.5.0.tgz 解压出来
tar xzf lapack.tgzcd lapack-*/cp INSTALL/make.inc.gfortran make.inc # on Linux with lapack-3.2.1 or newermake lapacklibmake cleanexport LAPACK=~/自己的目录/lapack-*/liblapack.a
按照上述操作即可最后一步的 export 改成自己的目录。
最后,终于可以安装 scipy了
回到刚才的scipy目录
cd scipy-0.14.0
安装
python setup.py install
6.验证成功
打开 python,注意在打开python之前 不能在scipy这些目录下,否则 在 import scipy的时候会报错。
如下错误
root@ubuntu:~/machine_learning/scipy-0.14.0# pythonPython 2.6.5 (r265:79063, Oct 1 2012, 22:07:21) [GCC 4.4.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> import scipyTraceback (most recent call last): File "<stdin>", line 1, in <module> File "scipy/__init__.py", line 112, in <module> raise ImportError(msg)ImportError: Error importing scipy: you cannot import scipy while being in scipy source directory; please exit the scipy source tree first, and relaunch your python intepreter.>>>
换个目录,再进入python就好了。
root@ubuntu:~/machine_learning# pythonPython 2.6.5 (r265:79063, Oct 1 2012, 22:07:21) [GCC 4.4.3] on linux2Type "help", "copyright", "credits" or "license" for more information.>>> 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'>>>>
这样子就表示安装都成功了。。。
参考资料:
Linux 安装numpy和scipy
Python scipy needs BLAS?
python : scipy install on ubuntu
菜鸟 ubuntu下安装scipy全过程 (主要是安装atlas)
- linux python 安装 nose lapack atlas numpy scipy
- linux下python安装 nose lapack atlas numpy scipy sklearn
- openblas+lapack numpy scipy
- Ubuntu-Python2.7下安装 scipy,numpy,matplotlib,nose
- python:安装numpy, Scipy,Matplotlib
- Python-SciPyStack安装(NumPy & SciPy)
- python 安装 numpy,scipy模块
- Python numpy scipy模块安装
- python安装numpy和scipy
- Python 库安装(scipy,numpy)
- Python 安装numpy+scipy+matlotlib
- linux 下 numpy scipy 安装
- 编译依赖于LAPACK、ATLAS的NUMPY
- Python-Windows安装Scipy时no lapack/blas resources found
- Python Windows 安装Scipy时 no lapack/blas resources found
- 【Python笔记】如何编译不依赖lapack和atlas库的NumPy包
- 【Python笔记】如何源码编译依赖LAPACK和ATLAS库的NumPy包
- win下安装scipy出错:numpy.distutils.system_info.NotFoundError: no lapack/blas resources found
- 二分求幂,取模性质
- Yii Framework2.0开发教程(8)输入验证
- 实验三 栈和队列
- 黑马程序员-day10异常
- 合作消息处理模型
- linux python 安装 nose lapack atlas numpy scipy
- VMware不能安装VMware Tools解决方法
- LinkedList实现类
- OpenCV&图像处理_0
- just for you---识别多行文章中的字符串个数
- server no password by public key
- 数据库面试题
- new和malloc的区别
- Java_并发线程_Future、FutureTask、Callable