基于Linux CentOS的Python科学计算环境搭建

原创 2015年09月02日 12:35:04

基于Linux CentOS的Python科学计算环境搭建

        PyDev+Eclipse集成开发环境搭

        建参考博文,Linux平台下Python的安装及IDE开发环境搭建,http://blog.csdn.net/guoxiaojie_415/article/details/48108319

Numpy、SciPy和Matplotlib的安装

        基于Python科学计算的集成开发环境,在windows上有很多的基础安装包可以使用,如Python(x,y)等。但在Linux下的Python科学计算的集成开发环境较少且收费,因此本文从零开始,基于CentOS搭建Python科学计算的集成环境。由于涉及的工具包比较多,本文主要讲述安装Numpy、SciPy和Matplotlib的详细过程,以及在该过程中遇到的问题以及解决方法。首先看一下这几个包之间的安装顺序以及Numpy、SciPy和Matplotlib的依赖包。


由图可知,该集成环境的安装可以分为,Python的安装、SciPy的安装以及Matplotlib的安装。安装SciPy前需先安装,Cython、Lapack以及Numpy。安装Matplotlib前需要先安装:Freetype、Libpng、Openssl、zlib、six、setuptool、dateutil、pyparsing。以下内容详细讲个各个步骤的安装过程。

步骤1 编译安装python

        请参考我的另一篇博文:Linux平台下Python的安装及IDE开发环境搭建,http://blog.csdn.net/guoxiaojie_415/article/details/48108319

步骤2 编译安装SciPy

安装Cython

        Cython官网以及下载链接:http://cython.org/

unzip Cython-0.23.1.zip 
cd Cython-0.23.1python 
setup.py install

安装Numpy

        Numpy安装包下载:http://sourceforge.net/projects/numpy/files/

unzip numpy-1.9.2
cd numpy-1.9.2
python setup.py install

安装Lapack

lapack下载地址:http://www.netlib.org/lapack/

blas下载地址:    http://www.netlib.org/blas/

默认情况下,labpack中包含,blas。

        注意:刚开始下载了一个3.5的版本,可能因为我使用的Fortran编译器太老的原因,结果无法通过编译,于是我下载了一个3.4的版本,通过编译。

        首先确认已安装gfortran。在lapack网站下载lapack-3.4.0压缩包,解压:tar zxvf lapack-3.4.0.tgz。在解压后的lapack-3.4.0目录下面有一个make.inc.example文件,将其改为make.inc。如果是gfortran的编译器,则基本不需要修改这个文件,make.inc主要用来设置编译器和编译器的一些选项。把makefile文件中的:

        lib: lapacklib tmglib
        #lib: blaslib variants lapacklib tmglib
        改为:
        #lib: lapacklib tmglib
        lib: blaslib variants lapacklib tmglib
        然后打开终端,切换到当前目录,输入: make 即可。

        最后将文件夹下面的liblapack.a,librefblas.a,libtmglib.a 三个库拷贝到/usr/lib。

        再编译SciPy仍然没有成功,无奈之下我最终还是选择了yum安装,但是由于安装了新版本的python后,yum也不工作了,出现如下错误,

        错误1:No module named yum

        解决方法:原来yum也是依赖于python而且还是老版本的python,因此我将/user/bin/yum中的

#!/user/bin/python修改成了

#!/user/bin/python2.4

yum install -y blas blas-devel lapack lapack-devel atlas atlas-devel  --nogpgcheck 

安装SciPy

         SciPy官网:http://www.scipy.org/

unzip scipy-master.zip
cd scipy-master
python setup.py instal

步骤3 编译安装Matplotlib

         Matplotlib安装手册(重要的参考):http://matplotlib.org/users/installing.html

安装freetype、libpng、openssl

        yum install freetype freetype-devel
        yum install libpng libpng-devel
        yum install -y openssl openssl-devel
            上述安装完毕之后,需重新编译安装Python

安装Setuptools、Six、dateutil、pyparsing

        setuptools下载链接:https://pypi.python.org/pypi/setuptools/
        six下载链接:            https://pypi.python.org/pypi/six
        dateutil下载链接:     http://labix.org/python-dateutil
        pyparsing下载链接:https://pypi.python.org/pypi/pyparsing/1.5.7

安装Matplotlib

        Matplotlib下载链接:http://matplotlib.org/downloads.html

tar zxvf matplotlib-1.4.3.tar.gz
python setup.py install

问题2:可以画图但是不能显示,matplotlib compiled fine, but nothing shows up when I use it

        重要参考:https://forum.suse.org.cn/viewtopic.php?f=24&t=2258

        解决方法:出现问题2的主要原因,是必须为matplotlib添加图形库,才可以将绘制的图形显示出来。为了适应各种用户的需求,matplotlib提供了多种输出类型的backend,用户端只需要应用好做图代码即frontend就可以。backend有两类:一类是交互式的,如“GTKAgg, pygtk, wxpython, tkinter, Qt4, macosx等,这种backend可以直接在屏幕上显示图像;另一类是,非交互式的,如”Agg, PS, pdf, svg, png等,这种backend支持我们熟悉的图片格式,但不支持在屏幕上显示图像。查看电脑上matplotlib支持的backend模式,可以通过以下方式(在IPython中):

 import matplotlib
 print(matplotlib.rcsetup.all_backends)<span style="white-space:pre">		</span>#打印出matplotlib支持的backend
 print( matplotlib.matplotlib_fname())		#打印matplotlib的配置路径
将matplotlib中的backend修改成你的系统支持的图形库类型即可。
backend : Agg 

        修改为下面其中之一即可,['GTK', 'GTKAgg', 'GTKCairo', 'MacOSX', 'Qt4Agg', 'TkAgg', 'WX', 'WXAgg', 'CocoaAgg', 'GTK3Cairo', 'GTK3Agg', 'WebAgg', 'agg', 'cairo', 'emf', 'gdk', 'pdf', 'pgf', 'ps', 'svg', 'template']。

        本文使用的是Tk,因此需要安装tk以及tcl

yum install tcl tcl-devel tk tk-devel

        安装完成之后,需要重新编译安装Python和Matplotlib。

        测试Plot是否成功的代码:

import numpy as np
import scipy as sp

import matplotlib
print(matplotlib.rcsetup.all_backends)
print(matplotlib.matplotlib_fname())
import pylab as pl

x = np.linspace(0, 4*np.pi, 100)
pl.plot(x,np.sin(x))
pl.show()

测试结果:







centos7 安装 matplotlib的最便捷办法

以前我在centos6.5装过matplotlib,当时就有很多依赖包要装,这次换了系统,重新安装,心想又得经历这样的吐血经历了,果然,需要安装一堆依赖,并且有的依赖装了之后还是找不到,最后,有神告诉...

python 在centos下找不到tkinter

python版本是2.7 import Tkinter Traceback (most recent call last): File “”, line 1, in ImportErro...

在centos上搭建阿里云python开发环境

在阿里云的ecs的centos操作系统上搭建基于python的sdk开发环境

CentOS7下Python开发环境搭建

CentOS7自带Python2.7 但是没有pip工具 要安装pip,首先要了解yum 他相当于对Linux来说的pip工具。 命令指南 http://blog.chinaunix.net/ui...

centOS安装scipy

前几个月安装python包的numpy和scipy一直不成功,今天把服务器联网,用pip试着安装一下,发现用pip install numpy可以成功 安装pip install scipy,报错,...

CentOS7 安装python科学计算库

0.搭建在Linux环境下的Python开发环境(vimplus)0.1准备工作安装好CentOS7,配置好网络,确保网络畅通。0.2root授权首先:当前用户为kang # vim /etc/su...

Python与机器学习(二):Windows下科学计算环境搭建

【注意:安装numpy和scipy模块时注意与Python版本保持一致】 1.安装numpy 首先安装好Python,我安装的是Python3.4,并配置好Python的环境变量,即在环境变量pa...

linux中安装python科学计算环境-numpy、scipy、matplotlib、OpenCV...

和Python(x,y)不一样,在Ubuntu中需要手工安装科学计算的各个模块,如何安装IPython, NumPy, SciPy, matplotlib, PyQt4, Spyder, Cython...

取代matlab, Linux下科学计算环境的搭建

 不久前,学姐发给我一程序,我开虚拟机跑matlab算了一边,虽然我给了虚拟的XP 512M的内存,还是慢的要命。足足等了30s才出来结果。这还是只算了一遍,如果是算两层循环,96*2遍的话,我去新街...

机器学习利用Anaconda搭建Python科学计算环境

机器学习利用Anaconda搭建Python科学计算环境
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:基于Linux CentOS的Python科学计算环境搭建
举报原因:
原因补充:

(最多只允许输入30个字)