本次安装参考如下链接,因为该教程是17年写的,作者主要用的是python2.7,当时的presto版本是2,现在最新的presto版本是3,因此在此记录一下我安装presto3的过程,希望能对其他人有一些帮助。
CentOS 7 安装天文学工具presto
首先安装presto的依赖库
下面代码中/home/team1
是我的主目录,大家换成自己的主目录就行了,/home/team1/Programs/
是我安装各种程序的路径,大家可以换成自己的。
-
安装FFTW3.X(这个还算简单)
FFTW3.X官方网站:http://www.fftw.org/。
解压后进入到该目录,执行以下代码:./configure --enable-shared --enable-single --enable-threads --prefix=/home/team1/Programs/fftw make make install
-
安装PGPLOT
PGPLOT地址:http://www.astro.caltech.edu/~tjp/pgplot/
下载地址:ftp://ftp.astro.caltech.edu/pub/pgplot/pgplot5.2.tar.gz
下载后解压,此处解压到TarFile/pgplot目录下,下面贴命令:mkdir /home/team1/Programs/pgplot cp /home/team1/TarFile/pgplot/drivers.list /home/team1/Programs/pgplot/
此处根据自己的需求修改drivers.list添加设备。此处presto要求必选设备有PS和X-windows设备,另外还可以加上VPS、CPS和VCPS设备;
然后执行/home/team1/TarFile/pgplot/makemake /home/team1/TarFile/pgplot linux g77_gcc
后面的安装过程复制与参考链接一致,因此直接复制过来了
之后文件夹会出现
drivers.list grexec.f grpckg1.inc makefile pgplot.inc rgb.txt
这几个文件夹,接着修改makefile文件,将其中的FCOMPL=g77修改为FCOMPL=gfortran
此时直接make还是会出现错误的,因为我们并没有安装X11。下面先安装X11,此时需要管理员权限配置系统sudo yum install libX11-devel make make cpg
这时pgplot就可以算是安装完成了
-
安装Tempo
Tempo下载地址: http://tempo.sourceforge.net/
安装代码如下:./configure --prefix=/home/team1/Programs/tempo make make install
-
安装GLIB(v2.X)(与参考链接一致)
可以通过yum安装:yum install glib2-devel
-
安装CFITSIO
CFITSIO的下载地址是: http://heasarc.gsfc.nasa.gov/fitsio/
下载后解压,执行如下命令(与Tempo安装步骤一致):./configure --prefix=/home/team1/Programs/cfitsio make make install
配置环境变量
安装完上述6个依赖库后要将相应的环境变量配置好,下面是我配置的环境变量,大家可以直接将/home/team1/Programs/
换成自己的软件安装目录即可:
export LD_LIBRARY_PATH=/home/team1/Programs/presto-3.0/lib:/home/team1/Programs/pgplot:/home/team1/Programs/fftw/lib:/home/team1/Programs/cfitsio/lib:$LD_LIBRARY_PATH
export PATH=/home/team1/Programs/presto-3.0/bin:/home/team1/Programs/tempo/src/:$PATH
export C_INCLUDE_PATH=/home/team1/Programs/presto-3.0/include:/home/team1/Programs/cfitsio/include:/home/team1/Programs/fftw/include:$C_INCLUDE_PATH
export PKG_CONFIG_PATH=/home/team1/Programs/cfitsio/lib/pkgconfig:/home/team1/Programs/fftw/lib/pkgconfig:$PKG_CONFIG_PATH
export PGPLOT_DIR=/home/team1/Programs/pgplot
export PGPLOT_FONT=/home/team1/Programs/pgplot/grfont.dat
export PRESTO=/home/team1/Programs/presto-3.0
export TEMPO=/home/team1/Programs/tempo
export PYTHONPATH=/home/team1/Programs/presto-3.0/python
安装PRESTO
终于可以安装PRESTO了!
我是下载的3.0版本的源码,链接为Release,官网给的安装教程的链接
下面开始安装:
第一步:进入到PRESTO/src目录,在这里执行如下三条命令:
make wisdom
make prep
make
这三条命令的作用见管网安装教程的7-10条;
第二步:因为安装好以后要通过python调用presto,所以presto是作为一个python模块,因此PRESTO目录下有一个setup.py文件,下面就是要安装该模块。
在安装该模块之前,需要对setup.py文件进行修改,主要就是将fftw
和cfitsion
的include
文件目录放到setup.py文件中的include_dirs
变量(一个列表)中,然后将fftw
和cfitsio
的libraries
目录放到setup.py文件中的presto_library_dirs
变量(也是一个列表)中,官网文档里对这两个步骤的说明见第1条和第5条。
我是在setup.py文件的15行下面加了如下两行,把include
文件目录加入到了include_dirs
变量中:
include_dirs.append("/home/team1/Programs/fftw/include")
include_dirs.append("/home/team1/Programs/cfitsio/include")
在setup.py文件第27行下面加了如下两行,把libraries
文件目录放到了presto_library_dirs
中:
presto_library_dirs.append("/home/team1/Programs/fftw/lib")
presto_library_dirs.append("/home/team1/Programs/cfitsio/lib")
做完上述步骤之后便可以开始安装该模块了
第三步:安装presto。
官网给的安装命令是在PRESTO目录下执行pip install .
,表明将当前目录安装为模块,但我执行的时候报了错,报错信息是
ERROR: Could not build wheels for presto which use PEP 517
,
我查了很久也没解决,后来找到了一种通过setup.py文件安装的方法,就是PRESTO目录下执行python setup.py install
命令,然后便成功安装好了。
下面是我安装好后的截图
总结
- 要对使用setup.py文件安装python模块有一个初步的了解,要知道基本的安装步骤,而不是乱尝试;
- 要对Linux中的环境变量有一个大概的了解,比如PYTHONPATH,C_INCLUDE_PATH,LD_LIBRARY_PATH等,了解这些环境变量的作用后才可以更高效的安装好软件,避免走很多弯路。
- .bashrc和.bash_profile两个文件是有区别的,虽然都是在登录shell后会执行这俩文件,但有一个先后顺序,建议不要混用这两个文件。