当前位置: 首页 > news >正文

linux安装boost.python

前言

boost.python库被用于C++与Python代码间的交互,提供了两者间大部分数据类型的转换

相关环境

操作系统:Ubuntu 20.04
python版本:Python 3.8
boost版本:boost 1.78.0

安装

1.boost.python检查与卸载

在安装boost之前需要检查系统中是否已经安装boost库,若系统中存在则需要卸载干净。
(1)包管理器安装方式的检查 卸载

系统类别检查命令
redhatrpm -qf/usr/include/boost/version.hpp
debiandpkg -S /usr/include/boost/version.hpp

检查到了则需卸载:

系统类别检查命令
redhatsudo yum remove libboost***-dev
debiansudo apt-get autoremove libboost***-dev

(***为版本号)

(2)编译方式安装的检查 卸载
通过find命令查找boost/version.hpp

sudo find / -iname version.hpp

查看boost版本

cat version.hpp| grep "BOOST_LIB_VERSION"

卸载boost

sudo rm -r -f /usr/local/include/boost*
sudo rm -f /usr/local/lib/libboost*
(*为相关版本信息)

2.boost.python安装

(1)安装包下载

 boost安装包下载: [https://www.boost.org/](https://www.boost.org/)

(2)解压,进入首层目录(采用root用户)

sudo -i
cd /***/boost_1_78_0 (***是相关的存储位置信息)

(3)找到python安装位置

boost.python在编译的时候需要链接到python的解释器,默认会使用在/usr里面的那个python。而老版的ubuntu的python可能是2.x版本的,建议指定为你正在使用的版本。我们可以激活conda的环境,然后使用whereis python命令查找

conda activate your_envs
which python
# 记下python的路径,一般是/xx/xx/bin/python

–prefix 是要安装到的路径,如果有root权限可以按照到默认路径,这样也方便cmake找
–with-python指定安装boost.python38这个库。(如果安装所有库可以添加–with-libraries=all)
–with-python-root指定python解释器的位置,也就是前面which得到的路径

./bootstrap.sh --prefix=/usr/path/of/boost --with-python=python3.8 --with-python-root=/your/python/path

(4)编辑project_config.jam文件

vim project_config.jam

在project_config.jam中python对应地方加入指定版本的python 的include和lib

 Python configuration
import python ;
if ! [ python.configured ]
{using python : 3.9 : "/xxx/bin/python" : "/xxx/include": "/xxx/lib";
}
表示意义:版本号 : 可执行文件位置:头文件目录:库文件目录
注意:这里为python所在位置,根据自己实际情况来

(5)编译安装
.

/b2
./b2 install --with-python include="/usr/include/python3.8"

这里include对应python的include目录。
安装成功会在 /usr/local/include/boost/usr/local/lib 下看到boost的头文件和库文件(libboost*.so)

(6)在profile中添加boost路径(编译成功后,会提示路径)

vim /etc/profile

添加内容为:

export CPLUS_INCLUDE_PATH=/home/pigeon/boost/boost_1_78_0:$CPLUS_INCLUDE_PATH
export LIBRARY_PATH=/home/pigeon/boost/boost_1_78_0/stage/lib:$LIBRARY_PATH
export LD_LIBRARY_PATH=/home/pigeon/boost/boost_1_78_0/stage/lib:$LD_LIBRARY_PATH

(7)运行环境

source /etc/profile

(8)更新连接库

ldconfig

参考链接

linux下boost.python安装过程记录
Boost.python安装和踩坑记录

http://www.lryc.cn/news/483141.html

相关文章:

  • AI 扩展开发者思维方式:以 SQL 查询优化为例
  • 自定义面板,高效的游戏性能分析利器
  • 【Linux进程特别篇】深度理解辨识僵尸进程和孤儿进程
  • 喜报|超维机器人荣获昇腾AI创新大赛铜奖
  • 从五种架构风格推导出HTTP的REST架构
  • vue-h5:在h5中实现相机拍照加上身份证人相框和国徽框
  • 免费HTML模板和CSS样式网站汇总
  • Mac打开time machine(时间机器)备份特殊文件
  • Qt 学习第十六天:文件和事件
  • nvm 切换 Node.js 版本
  • AI绘图最强软件stable diffusion,一文带你迅速了解!
  • VMware重磅官宣!Workstation和Fusion彻底全部免费:支持商用
  • CCS 学习记录
  • 241112.学习日志——[CSDIY] Cpp零基础速成 [01]
  • 94.【C语言】数据结构之双向链表的初始化,尾插,打印和尾删
  • learn-F12 Performance(性能)前端性能分析(LCP,CLS,INP)
  • XCZU47DR-2FSVE1156
  • 物联网低功耗广域网LoRa开发(一):LoRa物联网行业解决方案
  • 【LeetCode】【算法】23. 合并K个升序链表
  • python3的基本数据类型:Dictionary(字典)的创建
  • 【C++】string模拟实现
  • Springboot 使用EasyExcel导出含图片并设置样式的Excel文件
  • 技术分享:《越南语翻译通》App高效学习越南语的智能助手,是怎么实现高精度语音识别翻译功能的呢?
  • 工业互联网实验实训解决方案核心优势
  • Ceph client 写入osd 数据的两种方式librbd 和kernel rbd
  • 相机光学(四十二)——sony的HDR技术
  • 文件上传漏洞--理论
  • 快速入门Selenium自动化测试
  • C++指针使用指南
  • 一文学会,利用LLaMA 3.2打造能“识图断字”的个人AI助理