Ubuntu 18.04安装python-pcl 解决ImportError: libpcl_keypoints.so.1.7问题(更新Ubuntu20)

0. Ubuntu20安装 python-pcl

ubuntu20安装python-pcl请查看下面的链接
Ubuntu20安装python-pcl

1. Ubuntu16 安装python-pcl

首先通过下面的命令安装pcl库:

sudo apt-get install libpcl-dev pcl-tools

ubuntu16安装的pcl-1.7版本,然后就可以通过pip install python-pcl来直接安装python-pcl库,这样安装的版本是0.3.0a1版本,可以通过下面的命令来测试python-pcl是否安装成功:

python
import pcl

2. Ubuntu18 安装python-pcl

由于ubuntu18通过sudo apt-get install libpcl-dev pcl-tools安装的pcl为1.8版本, 而pip install python-pcl中的最新版本即为0.3.0a1,只支持pcl-1.7, 所以安装完以后运行import pcl会出现“ImportError: libpcl_keypoints.so.1.7: cannot open shared object file: No such file or directory”的错误,为了解决这个问题,需要源码编译安装0.3.0rc1版本。如果不想源码安装的,可以直接下载文章最后链接的whl文件,通过pip安装, 不过只支持python3.7, 源码编译安装步骤如下:

2.1 克隆源码

git clone https://github.com/strawlab/python-pcl.git

不过由于github下载速度太慢,强烈建议克隆gitee的镜像

git clone https://gitee.com/lucy2020/python-pcl.git

2.2 修改配置

下载完代码以后先不要着急build和install,需要修改setup.py文件中的两处地方:

  • (1)由于libpcl-dev默认的vtk依赖是6.3,而python-pcl中的setup.py文件里的vtk版本是7.0,所以需要修改setup.py文件726行vtk_version = '7.0'vtk_version = '6.3',不然会出现```cannot find -lvtkalglib-7.0``的错误。
  • (2)由于vtk-6.3依赖库要少于vtk-7.0, 因此需要删除752行的多余的依赖库, 删掉'vtkXXXX-' + vtk_version即可,其中VtkXXXX有以下库:
vtkexpat
vtkfreetype
vtkgl2ps
vtkhdf5
vtkhdf5_hl
vtkjpeg
vtkjsoncpp
vtklibxml2
vtkNetCDF
vtkNetCDF_cxx
vtkoggtheora
vtkpng
vtkproj4
vtksqlite
vtktiff
vtkzlib

2.3 编译安装

python setup.py build_ext -i
python setup.py install

显示Finished processing dependencies for python-pcl==0.3.0rc1即为安装成功。
另外也可以打包成whl文件,这样就可以直接在别的电脑上直接安装:

python setup.py bdist_wheel

在dist文件夹下会生成python_pcl-0.3.0rc1-cp37-cp37m-linux_x86_64.whl文件,使用pip install便可以直接安装,如果不想编译可以直接下载我编译好的,:

pip install python_pcl-0.3.0rc1-cp37-cp37m-linux_x86_64.whl

本来资源设置1个积分的就是想方便大家下载,结果最近发现csdn老是自动把需要的下载积分变大,搞得很气,那就挂一个百度网盘的链接吧,大家有需要可以下载:

链接: https://pan.baidu.com/s/1kAgRZMeGezts9EG7Z_v96w 提取码: 37vq 
  • 46
    点赞
  • 89
    收藏
    觉得还不错? 一键收藏
  • 36
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值