ubuntu安装libboost_python3 / boost_python library教程

28 篇文章 5 订阅

  现在大家一般使用的都是python3了,而在ubuntu系统下安装某些python库的时候,会需要libboost_python3(boost_python是一个东西,其实都是要编译boost)环境。但是安装libboost_python3并不能做到一行命令搞定,网上相关教程较少,有些也过于复杂,因此这里介绍一个简单靠谱的安装方法。主要的步骤参考的是这篇博客。下面进行详细介绍:
  

1 编译流程

  首先,将自己的环境切换到python3。然后,去boost官网下载自己想要的boost版本。目前最新的版本是1.77.0,不过我这里下载的是1.69.0。下载后进行解压,如下图所示:
在这里插入图片描述
  然后,在上图这个目录下打开一个终端,依次执行如下四条命令命令即可:

./bootstrap.sh --with-libraries=all --with-toolset=gcc
./b2
sudo ./b2 install
sudo ldconfig

  

2 报错找不到pyconfig.h的解决方法

  其中,第二条命令的执行时间是最长的,而且执行的过程中很有可能会出现错误(不过不会中断,会直接跳过),在我这里,执行结果如下所示:

...failed updating 66 targets...
...skipped 12 targets...
...updated 110 targets...

  显示的是有66个目标更新失败,然后跳过了12个目标。往上翻就可以找到报错的信息,如下所示:

./boost/python/detail/wrap_python.hpp:50:11: fatal error: pyconfig.h: 没有那个文件或目录
 # include <pyconfig.h>
           ^~~~~~~~~~~~
compilation terminated.

  意思就是,系统没有找到pyconfig.h这个文件。虽然有很多个错误,但是原因都是这一个。于是,我百度了一下,找到了这么一个解决方案。打开/boost_1_69_0/tools/build/src/tools路径(我的是1.69.0版本的,所以是boost_1_69_0,具体名称视自己下载的版本而定)下的python.jam文件,搜索一下includes ?= $(prefix)/include/python$(version),在500+行的位置,然后直接在这行的后面加上一个m并保存即可,也即改为includes ?= $(prefix)/include/python$(version)m
  然后,再次在终端执行./b2命令,最后可以得到如下输出:

...updated 78 targets...


The Boost C++ Libraries were successfully built!

The following directory should be added to compiler include paths:

    /home/jianping/下载/boost_1_69_0

The following directory should be added to linker library paths:

    /home/jianping/下载/boost_1_69_0/stage/lib

  可以看到,上面我们有66个项目失败,12个跳过,加起来刚好是78个,也就是全部错误都解决了。然后,再依次执行sudo ./b2 installsudo ldconfig命令即可。编译成功后可以在默认编译路径/usr/local/lib下找到相关的libboost*.so等。

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

zeeq_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值