本人使用 CentOS 7 系統(tǒng)珠十。CAMB 的 python 版本需要 gfortran
的版本高于 4.9盲镶,而本人系統(tǒng) gfortran 版本為 4.8蛮原。
$ gfortran --version
GNU Fortran (GCC) 4.8.5 20150623 (Red Hat 4.8.5-28)
Copyright (C) 2015 Free Software Foundation, Inc.
...
在編譯安裝 pycamb 時(shí)會(huì)出現(xiàn)錯(cuò)誤双妨。
第一次處理
直接在 setup.py
中修改 gfortran_min
參數(shù) 為 gfortran_min = '4.8'
现拒。由于版本不吻合寓盗,編譯會(huì)出現(xiàn)錯(cuò)誤灌砖。
成功的一次
本人電腦上安裝了 ifort
璧函,所與,最簡單的辦法是使用 ifort
基显。
做兩個(gè)修改蘸吓,
- 讓其判斷
gfortran
版本通過。
# gfortran_min = '4.9' # change to 4.8
gfortran_min = '4.8'
- 修改編譯器
COMPILER=gfortran
改為COMPILER=ifort
# COMPILER=gfortran
#subprocess.call("make camblib.so COMPILER=gfortran PYCAMB_OUTPUT_DIR=%s/camb/" % pycamb_path, shell=True)
subprocess.call("make camblib.so COMPILER=ifort PYCAMB_OUTPUT_DIR=%s/camb/" % pycamb_path, shell=True)
安裝
python setup.py install --user
測試是否成功
打開 python 或者 ipython 或者 jupyter notebook
>>> import camb
>>> help(camb)
Help on package camb:
NAME
camb - Python CAMB interface (http://camb.info)
FILE
/home/ekli/opt/camb/pycamb/camb/__init__.py
PACKAGE CONTENTS
baseconfig
bbn
bispectrum
camb
camblib
constants
correlations
initialpower
lensing
model
nonlinear
postborn
recombination
reionization
DATA
DoTensorNeutrinos = c_bool(True)
Magnetic = c_double(0.0)
ThreadNum = c_int(0)
__author__ = 'Antony Lewis'
__contact__ = 'antony at cosmologist dot info'
__status__ = 'beta'
__version__ = '0.1.6.2'
vec_sig0 = c_double(1.0)
VERSION
0.1.6.2
AUTHOR
Antony Lewis