openbabel3以及pythonopenbabel安装教程
软件简介
Open Babel 是⼀个化学⼯具箱,旨在讲化学数据的多种语⾔。这是⼀个开放的协作项⽬,允许任何⼈搜索、转换、分析或存储来⾃分⼦建模、化学、固态材料、⽣物化学或相关领域的数据。
安装环境
OS :Redhat 6
gcc 4.4.7 (系统默认版本)
安装依赖库
可以先 跳过 该步骤,后续出现对应的问题再来重新安装
swig 4.0.1 (optional)
由于系统⾃带的 swig ⼯具版本太低,在安装时没法正确的识别新语法,故这⾥需要先安装 swig ,如果你执⾏ swig -version 查看的版本⾼于 3.x 即可跳过该步骤
cd /path/to/swig-4.0.1
./configure --prefix=/path/to/install
make -j 8&&make install
安装完成后需要添加到系统变量⾥
export PATH=/path/to/install/bin:$PATH
boost 1.73.0 库(optional)
系统中⾃带的 boost 有问题,只能⼿动重新安装,安装⽅法参考以前的
zlib 1.2.3 库(optional)
使⽤ conda 安装
libxm2 库(optional)
使⽤ conda 安装
cairo库(optional)
使⽤ conda 安装
上述三个库⼀般系统都会⾃带,如果提⽰缺失可以使⽤ conda 或者系统⾃带的命令安装 (yum、apt-get 等等)
安装 openbabel 3.1.1
安装包下载
从 上下载源码包
编译
# 我这⾥使⽤了 gcc 7 的版本,如果有编译器语法的问题可以尝试切换编译器
cd /path/to/openbabel-3.1.1
mkdir _build
cmake ..\
-DCMAKE_INSTALL_PREFIX=/path/to/install \
-DBoost_DIR:PATH=/path/to/soft/boost/1.73.0/lib/cmake/Boost-1.73.0 \
-DBoost_INCLUDE_DIR:FILEPATH=/path/to/soft/Boost/1.73.0/include  \
-DBoost_LIBRARY_DIR_DEBUG:PATH=/path/to/soft/Boost/1.73.0/lib \
-DBoost_LIBRARY_DIR_RELEASE:PATH=/path/to/soft/Boost/1.73.0/lib \
-DBoost_SYSTEM_LIBRARY_DEBUG:FILEPATH=/path/to/soft/Boost/1.73.0/lib/libBoost_system.so \
-DBoost_SYSTEM_LIBRARY_RELEASE:FILEPATH=/path/to/soft/Boost/1.73.0/lib/libBoost_system.so \
-DCAIRO_INCLUDE_DIR:PATH=/path/to/anaconda3/include/cairo \
-DCAIRO_LIBRARY:FILEPATH=/path/to/anaconda3/lib/libcairo.so \
-DLIBXML2_INCLUDE_DIR:PATH=/path/to/anaconda3/include \
-DLIBXML2_LIBRARY:FILEPATH=/path/to/anaconda3/lib/libxml2.so
make -j 8&&make install
因为我这⾥加载了 conda 环境,⽽ cmake 会从系统⾃带的库中查 boost、libxml2、zlib 这些库,所以需要在这⾥⼿动指定这些库的位置
如果你都是使⽤的系统命令(yum、apt-get 等)安装,这⾥就不需要后⾯的指定路径的命令,只需要指定⼀个安装路径即可
安装 python openbabel 3.1.1.1
安装包下载
点击该 即可 python openbabel 3.1.1.1 包
编译
python setup.py build_ext -I/path/to/openbabel-3.1.1/install/include -L/path/to/openbabel-3.1.1/install/lib
python setup.py install --prefix=/path/to/python/libs/install
主要是需要指定⼀下刚才安装的 openbabel 3.1.1 的位置,install 时,如果不需要指定安装位置,会⾃动安装在 python 默认的 libs ⾥系统配置
上述软件都安装完成后需要加载环境变量后才能正常使⽤
export PYTHONPATH=/path/to/openbabel-3.1.1/install/lib:$PYTHONPATH
export PATH=/path/to/openbabel-3.1.1/install/bin:$PATH
export LD_LIBRARY_PATH=/path/to/openbabel-3.1.1/install/lib:$LD_LIBRARY_PATH
FAQs
下⾯是技术总结 / 安装过程中出现的问题
1. 安装 openbabel-3.1.1 时,cmake 提⽰有关 boost / zlib / libxml2 的 error
参考上⾯的⽅法安装对应的依赖库后,在 cmake 时指定它们的位置
2. 安装 openbabel-
3.1.1 时 fatal error: cairo.h: No such file or directory
cmake 时指定 cairo 头⽂件的位置错误,仔细对照 cmake 的命令
-DCAIRO_INCLUDE_DIR:PATH=/path/to/anaconda3/include/cairo
3. 安装 python openbabel 3.1.1.1 时 Error: Unable to find ‘openbabel/babelconfig.h’
如果你是直接 pip install openbabel 会出现该错误,因为系统的库⽂件路径中没有 openbabel 3,需要先安装 openbabel 3.1.1
4. 安装 python openbabel 3.1.1.1 时 openbabel/openbabel-python.i:79: Error: Syntax error in input(1).
安装新版本的 swig ,这是因为旧版本 swig 不兼容新语法
5. 安装完成后 import openbabel 出错 cannot import name ‘_openbabel’需要在系统环境变量⾥加载之前安装的 openbabel 3
export PYTHONPATH=/path/to/openbabel-3.1.1/install/lib:$PYTHONPATH
export PATH=/path/to/openbabel-3.1.1/install/bin:$PATH
python默认安装路径
export LD_LIBRARY_PATH=/path/to/openbabel-3.1.1/install/lib:$LD_LIBRARY_PATH

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。