当前位置:   article > 正文

ubuntu安装libboost_python3 / boost_python library教程

libboost

  现在大家一般使用的都是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
  • 1
  • 2
  • 3
  • 4

  

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

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

...failed updating 66 targets...
...skipped 12 targets...
...updated 110 targets...
  • 1
  • 2
  • 3

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

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

  意思就是,系统没有找到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
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12

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

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/木道寻08/article/detail/1009169
推荐阅读
相关标签
  

闽ICP备14008679号