python-pcl编译,python3.8,pcl1.8.1

用conda创建虚拟环境,或者使用python3.8
环境

  • python(>=3.6 , <=3.8)
  • Visual Studio Build Tools 或者 Visual Studio(需要提前安装好VS生成工具或VS,vs2015-2022均可以)
  • PCL(python-pcl仅支持低版本的个别 pcl,PCL 版本 1.7.1-1.9.1)

安装PCL
去官网下载PCL安装包并安装

新增环境变量INCLUDE,设置值为 C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include;C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt,即用分号分割两个路径

C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.44.35207\include
C:\Program Files (x86)\Windows Kits\10\Include\10.0.26100.0\ucrt

环境变量Path中添加pcl相关dll所在路径

%PCL_ROOT%\bin
%PCL_ROOT%\3rdParty\FLANN\bin
%PCL_ROOT%\3rdParty\Qhull\bin
%PCL_ROOT%\3rdParty\VTK\bin
%OPENNI2_REDIST64%

编译

  1. 创建python虚拟环境(已有python3.8则跳过)
    conda create -n pcl python=3.8
    conda activate pcl
    
  2. 下载python-pcl源码
    python-pcl 仓库下载压缩包,或者clone源码(git clone https://github.com/strawlab/python-pcl.git
  3. 用管理员权限打开终端,进入到源码路径下的pkg-config文件夹中
    Set-ExecutionPolicy RemoteSigned
    .\Install-GTKPlus.ps1
    Set-ExecutionPolicy Restricted
    
  4. 退出管理员终端,在源码路径下打开终端
  5. 安装依赖包,并编译安装python-pcl
    # 安装依赖包
    pip install cython==0.29.37
    pip install numpy
    
    # 编译安装,要配好前面MSVC和Windows Kits的头文件路径,不然可能会报错
    python setup.py build_ext -i
    python setup.py install
    

报错处理
ImportError: DLL load failed while importing _pcl: 找不到指定的模块。
如果报了这个错,就把
Python路径\Lib\site-packages\python_pcl-0.3.0rc1-py3.8-win-amd64.egg\Lib\site-packages\pcl路径下的所有dll 移动到
Python路径\Lib\site-packages\python_pcl-0.3.0rc1-py3.8-win-amd64.egg\pcl中,具体看自己python-pcl的版本号来决定路径
如果还是报那个错,再找到OpenNI.dll,也拷到这个路径下,就基本没问题了

Logo

Agent 垂直技术社区,欢迎活跃、内容共建。

更多推荐