时间:2022-06-15 10:22:39 | 栏目:Python代码 | 点击:次
Windows环境下安装pcl在github仓库python-pcl的readme中说进入appveyor.下载最新编译成功的whl文件就可以轻松实现(号称最简易的安装实现),但是appveyor只保留最近一个月的编译结果,后期再无更新,且删除了三个月前的全部文件,需要从其他途径下载;第二个就是在导包运行代码的时候会提示找不到dll的错误,也需要手动下载,然后放到相应的目录中。
至于VS环境下安装C++ 版本的pcl也可以按照下面提供的步骤安装实现
Point Cloud Library安装步骤
对于python下的安装,记录一下安装步骤,避免再次走弯路。
1、python-pcl编译界面所包含的 .whl 文件多数不能用,以下给出两个版本网盘地址(幸运~)
百度网盘地址1
链接: https://pan.baidu.com/s/1W594iaEzbRFuM1EV_wNwww?pwd=sdt8 提取码: sdt8
百度网盘地址2
链接: https://pan.baidu.com/s/1fKrT3JgRWHYbzxNpIIFgKA?pwd=da7x 提取码: da7x
2、利用 Anaconda 创建虚拟环境,注意虚拟环境 python 版本应设置为 3.7,即输入:
conda create -n pytorch_pcl python=3.7
相应的若是安装3.6版本, conda create -n pytorch_pcl python=3.6
注:如果原有的虚拟环境 python 版本也是3.7或3.6,安装对应版本时直接在原有虚拟环境中也是一样,不用重新创建。
3、将下载到的 python_pcl-0.3.0rc1-cp37-cp37m-win_amd64.whl 文件放入所创建的 python版本为3.7的虚拟环境的 Scripts 文件夹下,具体如下:
D:\Anaconda3\Scripts
然后,在此文件夹下打开 cmd,执行 pip 操作,输入:pip install python_pcl-0.3.0rc1-cp37-cp37m-win_amd64.whl 即可安装成功。
也可以在Anaconda Prompt 下 运行如下命令:
conda create -n python_pcl_37 python=3.7 activate python_pcl_37 pip install python_pcl-0.3.0rc1-cp37-cp37m-win_amd64.whl
4.安装完成后导入 import pcl时提示报错
Traceback (most recent call last): File "<stdin>", line 1, in <module> File "D:\Anaconda3\envs\python36\lib\site-packages\pcl\__init__.py", line 16, in <module> from ._pcl import * ImportError: DLL load failed: 找不到指定的模块。
按照这里(见文本补充)的思路才知道pcl是要依赖于OpenNI2.dll的,我以前没安装过OpenNI2所以出现这个错误
我先是直接pip安装了OpenNI2但是根本找不到.dll文件
所以需要去官网下载:OpenNI 2 Downloads and Documentation | The Structure Sensor
然后安装对应的OpenNI-Windows-x64-2.2.msi 到指定路径 D:\Program Files\
然后在D:\Program Files\OpenNI2\Samples\Bin这个位置里面找到OpenNI2.dll
复制到D:\Anaconda3\Lib\site-packages\pcl这个里面
再试一次就导包就可以使用了
补充:下面介绍下关于python-pcl出现问题ImportError: DLL load failed: 找不到指定的模块。
记录一下安装pcl的一个坑
安装完之后import pcl出现:
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
File "D:\Anaconda3\envs\python36\lib\site-packages\pcl\__init__.py", line 5, in <module>
from ._pcl import *
ImportError: DLL load failed: 找不到指定的模块。
google了好久才知道pcl是要依赖于OpenNI2.dll的,我以前没安装过OpenNI2所以出现这个错误
我先是直接pip安装了OpenNI2但是根本找不到.dll文件
所以我又去了官网下载:https://structure.io/openni
然后在D:\OpenNI2\Samples\Bin这个位置里面找到OpenNI2.dll
复制到D:\Anaconda3\envs\python36\Lib\site-packages\pcl这个里面
再试一次就可以用了
题外话,安装pcl需要用whl
直接pip据说不行,但是我也没有试过
原链接我也附上:https://gis.stackexchange.com/questions/287773/installing-pcl-module-for-python-3-6-in-anaconda