ubuntu18.04安装python pcl_Ubuntu18.04源码编译安装python-pcl记录

由于Ubuntu18.04默认apt安装的pcl是1.8,在conda环境下pip安装python-pcl以后,import pcl以后会报错找不到libpcl_****.so.1.7,也就缺少pcl1.7的动态链接库,因此建议下载源码编译安装。https://github.com/strawlab/python-pcl​github.com

环境准备

name: python-pcl

channels:

- !!python/unicode

'conda-forge'

- !!python/unicode

'menpo'

- !!python/unicode

'sirokujira'

- !!python/unicode

'defaults'

dependencies:

- Cython=0.28.5

- pcl=1.8.1

- vtk=8.0.1

- matplotlib

- numpy

以上是在python-pcl源码目录下的environment.yml文件中

pcl和vtk就老老实实的按照官方给的步骤安装,建议源码编译安装,但是自己下载源码编译的时候,默认安装的库的路径是/usr/local/lib,头文件的安装路径是/usr/local/include。这需要注意。

PS.推荐使用cmake-gui安装,附上我安装vtk的时候选择安装的库

然后最重要的一步就是修改python-pcl目录下的setup.py源码

因为setup.py代码中没有针对Ubuntu18的环境,所以需要自己修改。

重点修改的部分有以下几个地方

一、VTK的版本

以下这段代码在setup.py 200行左右

elif pcl_version == '-1.8':

# PCL 1.8.0 python Version >= 3.5

# Visual Studio 2015/2017

if info.major == 3 and info.minor >= 5:

# PCL 1.8.1

boost_version = '1_64'

vtk_version = '8.0'

# pcl-1.8

# 1.8.1 use 2d required features

pcl_libs = ["2d", "common", "features", "filters", "geometry",

"io", "kdtree", "keypoints", "ml", "octree", "outofcore", "people",

"recognition", "registration", "sample_consensus", "search",

"segmentation", "stereo", "surface", "tracking", "visualization"]

pass

凡是与pcl1.8对应的vtk版本均需要改成8.0,包括后面的代码段,可以用Ctrl+F搜索一下然后进行修改。

二、引用的VTK库

这段代码在420行左右

elif vtk_version == '8.0':

# pcl_version 1.8.1

# vtklibreleases = ['vtkalglib-' + vtk_version, 'vtkChartsCore-' + vtk_version, 'vtkCommonColor-' + vtk_version, 'vtkCommonComputationalGeometry-' + vtk_version, 'vtkCommonCore-' + vtk_version, 'vtkCommonDataModel-' + vtk_version, 'vtkCommonExecutionModel-' + vtk_version, 'vtkCommonMath-' + vtk_version, 'vtkCommonMisc-' + vtk_version, 'vtkCommonSystem-' + vtk_version, 'vtkCommon

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值