本文主要是介绍关于Conda中Rdkit报错ImportError:无libboost_python动态库问题解决方法--安装至指定目录,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
关于Conda中Rdkit报错ImportError:无libboost_python动态库问题解决方法--安装至指定目录
- 问题解析
- 解决方法
- 1. boost包下载
- 2. boost包编译安装
- 参考博客
问题解析
libboost_python36.so.1.73.0报错信息解析:
- 缺少的包名为boost
- 该库支持语言为python3.6
- boost包版本为1.73.0
报错原因有两点:
- boost包未安装
- 编译时使用了python2,未指定python3.6
解决方法
1. boost包下载
下载地址:boost_1_73_0.tar.gz
2. boost包编译安装
a) 依赖库检查与更新(需要联网,可跳过)
$ sudo apt-get update
// 搜到所有的boost库
$ sudo apt-cache search boost
// 安装相应缺少的库
$ sudo apt-get install libboost-all-dev
b) 解压boost包
// 搜到所有的boost库
$ tar -xzvf [你的下载boost包路径]/boost_1_73_0.tar.gz
解压后会得到boost_1_73_0文件夹,如下图所示
c) 编译boost 1.73.0
此过程在自定义Conda环境中完成,若在base环境,则需要将envs/[创建的conda环境名]部分删掉,具体查看对应路径后即可明白。
// 进入boost_1_73_0目录
$ cd boost_1_73_0
//设置并运行sh文件,运行完如图2所示
//设置anaconda的python路径, 此处为自定义环境中的python3.6.5(查看python版本命令 python -V)
$ ./bootstrap.sh --with-libraries=python --with-toolset=gcc --with-python="/home/[用户名]/anaconda3/envs/[创建的conda环境名]/bin/python3.6m" --with-python-version=3.6 --with-python-root="/home/[用户名]/anaconda3/envs/[创建的conda环境名]" --prefix="/home/[用户名]/anaconda3/envs/[创建的conda环境名]" --exec-prefix="/home/[用户名]/anaconda3/envs/[创建的conda环境名]"
//运行完成如图3所示
$ ./b2 --with-python include="/home/[用户名]/anaconda3/envs/[创建的conda环境名]/include/python3.6m" --prefix="/home/[用户名]/anaconda3/envs/[创建的conda环境名]" --exec-prefix="/home/[用户名]/anaconda3/envs/[创建的conda环境名]"
//安装,运行完成如图4所示
$ ./b2 install
d)编译过程图
i. 运行bootstrap.sh过程
ii. 运行b2文件过程
iii. 安装过程
iv. 检验是否编译成功:
查看制定安装路径下(–prefix后的参数值),是否有libboost_python36相关文件,如图5所示
e)建立软连接
$ ln -s libboost_python-py36.so /home/[用户名]/anaconda3/envs/[创建的conda环境名]/lib/libboost_python3.so
$ ln -s libboost_python-numpy36.so /home/[用户名]/anaconda3/envs/[创建的conda环境名]/lib/libboost__python-numpy3.so
参考博客
[1] libboost_python3.6编译过程记录
[2] 基于python3.6的libboost库安装(用于anaconda3安装caffe)
[3] caffe安装–安装libboost(基于python3.6)的库部分
这篇关于关于Conda中Rdkit报错ImportError:无libboost_python动态库问题解决方法--安装至指定目录的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!