|
|
本帖最后由 mengskl 于 2023-1-15 20:12 编辑
在ambertool中使用MMPBSA.py.MPI多线程计算MM-PBSA/GBSA时,可能会出现如下错误:
Could not import mpi4py package
按python一贯的报错思路,一般认为是没有安装mpi4py。但是这个包通常在amber编译过程中由miniconda直接安装的,不应该出现没有安装的情况
见[AMBER-Developers] mpi4py won't be installed via configure_python from Hai Nguyen on 2017-08-18 (Amber Developers Archive Aug 2017) (ambermd.org)
找不到mpi4py除了在自行编译的版本中存在,在anaconda安装的ambertools也存在
这个错误到底问题在哪里,如果在amber环境下执行python -c 'import mpi4py'。会发现正常执行,说明mpi4py其实是正常安装了
但是如果执行python -c 'from mpi4py import MPI‘,会发现提示importError: libmpi.so.12: cannot open shared object file....
原来是找不到libmpi.so.12
其实,安装高版本的openmpi就能解决这个问题
1.下载高版本openmpi
Open MPI: Version 4.1 (open-mpi.org)在官网上下载。目前最新的稳定版本是openmpi-4.1.4。直接下载或者wget下载
2.解压文件并安装
在解压完成目录中执行 ./configure --prefix=(openmpi安装位置)make install -j XXX
3.设置环境变量
export MPI_HOME=你上一步中openmpi的安装位置
export PATH=${MPI_HOME}/bin:${PATH}
export LD_LIBRARY_PATH=${MPI_HOME}/lib:${LD_LIBRARY_PATH}
export MANPATH=${MPI_HOME}/share/man:${MANPATH}
在设置完成环境变量后,再执行python -c 'from mpi4py import MPI' 会发现成功了,这里已经完成了需要的环境安装
4.重新编译amber
完成重新编译后,再运行MMPBSA.py.MPI会发现,问题成功解决
|
评分 Rate
-
查看全部评分 View all ratings
|