红联Linux门户
Linux帮助

Ubuntu16下编译安装Open Babel2.4.1和python绑定

发布时间:2017-05-17 10:52:05来源:linux网站作者:qq2648008726
上一篇介绍的是CentOS 7下编译安装Open Babel2.4.1和python绑定:http://www.linuxdiyf.com/linux/30846.html
 
一、Open Babel简介
Open Babel是一款开源自由软件,使用Open Babel可以将一种化学结构类型的文件格式转换成另一种文件格式,非常方便的进行各种类型的化学结构文件进行相互转换。
Open Babel由CC++编写,并提供C ++, Perl, Python等的API接口方便开发。
 
二、Open Babel 2.4.1的编译安装并绑定Python
第一步:下载openbabel 2.4.1安装包
下载地址:https://github.com/openbabel/openbabel/releases
Ubuntu16下编译安装Open Babel2.4.1和python绑定
第二步:安装boost库
su root               #获取root权限  
apt install libboost-dev   # 安装boost库
第三步:安装gcc、g++、make、cmkae
apt install gcc  
apt install g++  
apt install make  
apt install cmake
第四步:安装依赖的开发库
apt install libxml2-dev  
apt install zlib1g-dev  
apt install libcairo2-dev  
apt install libeigen2-dev   
apt install libopenbabel-dev
第五步:支持Python(Python2.7)绑定,安装python开发库
apt install python-dev
第六步:编译安装
tar zxvf openbabel-2.4.1.tar.gz  
mkdir build  
cd build  
cmake ../openbabel-2.4.1 -DPYTHON_BINDINGS=ON      #编译安装Python绑定
make  
make test  
make install
第七步:环境变量添加
gedit ~/.bashrc  
#open babel  
export PATH=/usr/local/bin:$PATH  
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib  
export PYTHONPATH=/usr/local/lib/python2.7/site-packages:$PYTHONPATH   #Python路径添加
source ~/.bashrc
最后一步:检查Open Babel 2.4.1和Python绑定是否安装成功
检查Open Babel 2.4.1
Ubuntu16下编译安装Open Babel2.4.1和python绑定
Python绑定是否安装成功
Ubuntu16下编译安装Open Babel2.4.1和python绑定
 
###################CC++ example的编译###########################
/*example.cpp*/
#include <iostream>  
#include <openbabel/obconversion.h>  
using namespace std;  
int main(int argc,char **argv)  
{  
if(argc<3)  
{  
cout << "Usage: ProgrameName InputFileName OutputFileName\n";  
return 1;  
}  
ifstream ifs(argv[1]);  
if(!ifs)  
{  
cout << "Cannot open input file\n";  
return 1;  
}  
ofstream ofs(argv[2]);  
if(!ofs)  
{  
cout << "Cannot open output file\n";  
return 1;  
}  
OpenBabel::OBConversion conv(&ifs, &ofs);  
if(!conv.SetInAndOutFormats("CML","MOL"))  
{  
cout << "Formats not available\n";  
return 1;  
}  
int n = conv.Convert();  
cout << n << " molecules converted\n";  
return 0;  
}
编译命令:
g++ example.cpp -I /usr/local/include/openbabel-2.0 -lopenbabel
效果图:
Ubuntu16下编译安装Open Babel2.4.1和python绑定
 
本文永久更新地址:http://www.linuxdiyf.com/linux/30847.html