Giter Site home page Giter Site logo

cmpute / pcl.py Goto Github PK

View Code? Open in Web Editor NEW
69.0 4.0 15.0 2.22 MB

Templated python inferface for Point Cloud Library (PCL) based on Cython

License: BSD 3-Clause "New" or "Revised" License

Python 17.38% CMake 1.96% C++ 2.35% Dockerfile 0.46% PowerShell 0.12% Cython 77.73%
python pcl point-cloud numpy computer-vision

pcl.py's Introduction

pcl.py

Build Status PyPI - Python Version

Cython bindings of Point Cloud Library (PCL)

Principles

Target for this library if to implement an easy-to-use cython API to the PCL (Point Cloud Library), combined with scipy and numpy. This library wraps pcl::PCLPointCloud2 class into python (using structured NumPy array) and users can pass data from numpy to PointCloud<PointT> easily with this library and headers.

Nevertheless, this library focuses on simplicity, readability and accessibility, the heavily templatized part of original PCL is not implemented in this library due to the limitation of cython. However, the templated cython headers are added and you can still write this part of code in C++ and then wrap the input and output in python easily with this library.

Interface

The major classes in this library are pcl.PointCloud, pcl.Visualizer. Most methods from C++ library are directly wrapped into Python, while methods with get and set prefix are changed into Python object properties.

Since Cython doesn't support a template technique similar to "covariant" in its template support, so the code which need this technique is not wrapped or header-provided as stated above.

Cython files are organized in the same structure as C++ library, which means the code you write in cython can be easily transferred to C++

Advantage over python-pcl and pclpy

  • PointCloud is stored in PCLPointCloud2 instead of PointCloud. Thus the cloud can store various kind of point type
  • ROS support (convert from and to sensor_msgs.msg.PointCloud2 type)
  • Cython headers are avaible through installation, you can connect your Python and PCL C++ code easily with this library!
  • Using CMake to build extension, thus this library can be compiled upon different settings of PCL

Compatibility

  • Written in Cython x CMake
  • System Requirements: Installed with PCL 1.6+
  • Python Requirements: Python 2.7/3.4+, Numpy>=1.11, Cython>=0.29, scikit-build
  • Tested on PCL 1.8.0 - 1.11.0, adding more compatibility is pending.

Installation

  • Installation from PyPI: pip install pcl-py
  • Installation from source: python setup.py install
  • Installation from source in-place: python setup.py develop

Basic Usage

Simple examples

import pcl
import numpy as np

cloud = pcl.PointCloud([(1,2,3), (4,5,6)])
# <PointCloud of 2 points>

cloud.ptype
# 'XYZ'

array = cloud.to_ndarray()  # zero-copy!
# array([(1., 2., 3.), (4., 5., 6.)],
#       dtype={'names':['x','y','z'], 'formats':['<f4','<f4','<f4'], 'offsets':[0,4,8], 'itemsize':16})

cloud.xyz[0] = (3, 2, 1)  # access and modify coordinates by .xyz
cloud.xyz
# array([[3., 2., 1.],
#        [4., 5., 6.]], dtype=float32)

import pandas as pd
pd.DataFrame(cloud)
#                  0
# 0  [1.0, 2.0, 3.0]
# 1  [4.0, 5.0, 6.0]

pd.DataFrame(cloud.to_ndarray())
#      x    y    z
# 0  1.0  2.0  3.0
# 1  4.0  5.0  6.0

random_cloud = pcl.create_xyz(np.random.rand(10000, 3))
# <PointCloud of 10000 points>

from pcl.visualization import Visualizer, RenderingProperties
vis = Visualizer()  # create a point cloud visualizer and open a window
vis.addPointCloud(random_cloud, id="some_id")  # add the point cloud with a given identifier
vis.setPointCloudRenderingProperties(RenderingProperties.PointSize, 2, id="some_id")  # modify its rendering property
vis.spin()  # update the contents in the window and show the cloud

The final statement will show following window

Random point cloud shown in a PCL Visualizer

Please check test codes for more usage examples and typing files (*.pyi files such as PointCloud.pyi) for the complete list of API.

Commonly-used APIs

  • pcl.PointCloud(data, point_type='XYZ'): This class contains a pointer to a `pcl::PCLPointCloud2' object. The constructor of the PointCloud type has two arguments.

    • data: Can be a list of tuples, a numpy array (1-D or 2-D), a ROS message or another PointCloud. The shape of the data must comply with the given point type. If the data is a numpy array, it might need to be padded before passing to the constructor according to the point type, however padding is not required if a list of tuples is passed in.
    • point_type: The point type of the PointCloud, by default it's specified as XYZ, which represents pcl::PointXYZ. The point type can be either in the supported type list or CUSTOM. If the point_type is custom, then the given data must be a structured numpy array, otherwise the input data should have the correct shape as defined by PCL. Use a builtin point type is required when interop with C++ libraries.
  • pcl.Visualizer(): This class holds a pointer to a `pcl::visualization::PCLVisualizer' object. For the complete API list please refer to the typing file. Some commonly used methods are listed below.

    Most methods follow the same API as the original PCL library. Note that for the methods that adds an object to the visualizer, there will always be a id parameter. You need to specify a unique id for each object, otherwise the object won't show on the screen and a PCL warning will be generated.

    • createViewport(self, xmin, ymin, xmax, ymax): Create a subwindow (aka viewport) with window range (in ratio) on x and y axis of the screen and return the id of the viewport, which can be used to specify the viewport to be added to when using other methods
    • addPointCloud(self, cloud, color=[1,1,1], field=None, color_handler=None, static_mapping=True, id="", viewport=0): Add a point cloud to the visualization. If color is given, then the points will be painted with the given color (color value ranges from 0 to 1). If field name is given, then the points will be painted according to the field value. If color_handler is given with a Python function (with a reference to the point cloud as input), then the returned array from the function will be used as the color values for each point. The default way to paint the point cloud depends on the fields.
    • addLine(self, p1, p2, color=[1,1,1], id=""): Add a 3D line segment from point p1 to point p2 with given color
    • addArrow(self, p1, p2, line_color=[1,1,1], text_color=[1,1,1], display_length=False, id="", viewport=0): Add a double-ended arrow between the point p1 and p2. The arrow will always has a 1 pixel width. If display_length is True, then the measured length of the arrow will be displayed around the center of the arrow.
    • spin(self): Start then rendering thread and the visualization will become interactive
    • close(self): Dispose the resources of the visualizer.
  • Some helper functions for creating the pcl.PointCloud objects

    • pcl.create_xyz(data): Create a pcl::PointXYZ point cloud from a normal numpy array or list of values with shape N*3
    • pcl.create_xyzi(data): Create a pcl::PointXYZL point cloud from a normal numpy array of list of values with shape N*4
    • pcl.create_xyzrgb(data): Create a pcl::PointXYZRGB point cloud from a normal numpy array of list of values with shape N*6
  • Some common functions to load and save point clouds:

    • pcl.io.load_pcd(path): Load a point cloud from a PCD file with given path
    • pcl.io.save_pcd(path, cloud, binary=False): Save cloud to a PCD file with given path. If binary=True, then the PCD file will be saved in binary format
    • pcl.io.load_ply(path): Load a point cloud from a PLY file with given path
    • pcl.io.save_pcd(path, cloud, binary=False, use_camera=False): Save cloud to a PLY file with given path. If binary=True, then the PLY file will be saved in binary format
    • pcl.io.load_bin(path, point_type='xyz'): Directly load the binary data saved in the given file to a PointCloud object. The point type need to be specified. This function can be helpful to load point cloud from some datasets (e.g. KITTI)
    • pcl.io.save_bin(path): Directly dump the binary data stored in the PointCloud object to a binary file

ROS integration

Use the integration with ROS is as simple as cloud = pcl.PointCloud(msg) and msg = cloud.to_msg(). To build the PointCloud from a message object, the message doesn't need to have the exact sensor_msgs.msg.PointCloud2 type, rather it can have any type with proper fields defined. This is convenient when you receive messages from other machines and ROS sometimes will generate anonymous type to deserialized the data.

Common incorrect usages

  • np.array(pcl.PointCloud([(1,2,3), (4,5,6)])): Directly convert to numpy array will return unstructured raw data, use to_ndarray instead for meaningful conversion.
  • pcl.PointCloud([[1,2,3], [4,5,6]]): This expression will generate a PointCloud with 6 points. Only list of tuples are accepted for initialization, use pcl.create_xyz instead for more general initialization.
  • pcl.PointCloud(np.array([[1,2,3,4]])): This expression will generate a PointCloud with 1 point (1,2,3), the last value will be shaded because pcl::PointXYZ type is aligned to 16 bytes. Please acknowledge the effect of this.

pcl.py's People

Contributors

cmpute avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

pcl.py's Issues

installation failed with missing files

I tried to install the package from src and got the following issue:

[ 94%] Building CXX object pcl/visualization/CMakeFiles/_visualization.dir/_visualization.cxx.o
In file included from /usr/include/python3.6m/numpy/ndarraytypes.h:1809:0,
from /usr/include/python3.6m/numpy/ndarrayobject.h:18,
from /usr/include/python3.6m/numpy/arrayobject.h:4,
from /home/luming/Downloads/pcl.py/_skbuild/linux-x86_64-3.6/cmake-build/pcl/visualization/_visualization.cxx:607:
/usr/include/python3.6m/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
#warning "Using deprecated NumPy API, disable it by "
^~~~~~~
/home/luming/Downloads/pcl.py/_skbuild/linux-x86_64-3.6/cmake-build/pcl/visualization/_visualization.cxx:629:10: fatal error: pcl/visualization/area_picking_event.h: No such file or directory
#include "pcl/visualization/area_picking_event.h"
^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
compilation terminated.
pcl/visualization/CMakeFiles/_visualization.dir/build.make:67: recipe for target 'pcl/visualization/CMakeFiles/_visualization.dir/_visualization.cxx.o' failed
make[2]: *** [pcl/visualization/CMakeFiles/_visualization.dir/_visualization.cxx.o] Error 1
CMakeFiles/Makefile2:355: recipe for target 'pcl/visualization/CMakeFiles/_visualization.dir/all' failed
make[1]: *** [pcl/visualization/CMakeFiles/_visualization.dir/all] Error 2
Makefile:129: recipe for target 'all' failed
make: *** [all] Error 2
Traceback (most recent call last):
File "/home/luming/.local/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 577, in setup
cmkr.make(make_args, env=env)
File "/home/luming/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 482, in make
os.path.abspath(CMAKE_BUILD_DIR())))

An error occurred while building with CMake.
Command:
"cmake" "--build" "." "--target" "install" "--config" "Release" "--"
Source directory:
/home/luming/Downloads/pcl.py
Working directory:
/home/luming/Downloads/pcl.py/_skbuild/linux-x86_64-3.6/cmake-build

Any ideas why?

from ._pcl import *

I have installed the package successfully but there is an error when i import pcl moddule.
from ._pcl import * this code in init.py
It remmand me 'no Module‘
I use win10 64 system

Still Usable?

Hi, I see you're no longer supporting this. That's a shame as it'd have been so useful!
As things stand I need to tessellate a mesh of form [[x1 y1 z1][x2 y2 z2]...[xn yn zn]] on my RPi and export it as an STL. Will this library still support that?

Accuracy difference between np.cov and pcl.common.compute_mean_and_covariance_matrix

Reproduction code:

rdata = np.random.rand(1000, 3)
cloudx = rdata[:, 0]
cloudy = rdata[:, 1]
cloudz = rdata[:, 2]
coef_xx = np.mean(cloudx * cloudx)
coef_xy = np.mean(cloudx * cloudy)
coef_xz = np.mean(cloudx * cloudz)
coef_yy = np.mean(cloudy * cloudy)
coef_yz = np.mean(cloudy * cloudz)
coef_zz = np.mean(cloudz * cloudz)
coef_x, coef_y, coef_z = np.mean(rdata, axis=0)
cov = np.zeros((3, 3))
cov[0, 0] = coef_xx - coef_x**2
cov[1, 1] = coef_yy - coef_y**2
cov[2, 2] = coef_zz - coef_z**2
cov[0, 1] = cov[1, 0] = coef_xy - coef_x*coef_y
cov[0, 2] = cov[2, 0] = coef_xz - coef_x*coef_z
cov[1, 2] = cov[2, 1] = coef_yz - coef_y*coef_z

npcov = np.cov(rdata, rowvar=False)
print((npcov - cov) / npcov)

Running for times and the outputs are the same:

[[ 0.001  0.001  0.001]
 [ 0.001  0.001  0.001]
 [ 0.001  0.001  0.001]]

If test the difference in pcl.features.normal.compute_point_normal(), the output matrix always consists of scalar 0.2, which is quite large. I think the problem comes with the accuracy configuration of numpy, however, I've got no idea to deal with it now.

There's another issue in normal estimation that the estimated normals are almost all the same, only few of them at the beginning are not the same. I believe this is the consequence of the deviation in covariance matrix computation.

Error compiling Cython file

Hello

I got an error when I try to install pcl.py via pip or manually. I'm on Ubuntu 18. I think this is the main error:

Error compiling Cython file:
    ------------------------------------------------------------
    ...
        property InputCloud:
            def __get__(self):
                return self._input
            def __set__(self, PointCloud inputc):
                self._input = inputc
                self._ptr.get().setInputCloud(inputc.csptr())
                                                         ^
    ------------------------------------------------------------
    
    /tmp/pip-install-ow0bofk1/pcl-py_f22239df09f5481b8d1ddba3fbdb4573/pcl/common/PCLBase.pyx:15:54: Cannot assign type 'shared_ptr[const PCLPointCloud2]' to 'PCLPointCloud2ConstPtr'

And it can't find the VTK apparently but the files are there in /usr/lib/cmake/vtk-6.3..
Here is the complete error (unfortunately I can't paste it completely because the message is too long, but I removed only unrelevant infos):


lg@lg-ThinkPad-P52:~$ pip3 install pcl-py
Defaulting to user installation because normal site-packages is not writeable
Collecting pcl-py
  Using cached pcl-py-0.2.11.tar.gz (291 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.11 in ./.local/lib/python3.6/site-packages (from pcl-py) (1.19.1)
Building wheels for collected packages: pcl-py
  Building wheel for pcl-py (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-cg42ieyg
       cwd: /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/
  Complete output (855 lines):
  
  
  --------------------------------------------------------------------------------
  -- Trying "Ninja" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 7.5.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is GNU 7.5.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Ninja" generator - success
  --------------------------------------------------------------------------------
  
  Configuring Project
    Working directory:
      /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build
    Command:
      cmake /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-install -DPYTHON_VERSION_STRING:STRING=3.6.9 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/lg/.local/lib/python3.6/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPYTHON_LIBRARY:PATH=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DPython_EXECUTABLE:PATH=/usr/bin/python3 -DPython_ROOT_DIR:PATH=/usr -DPython_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPython_FIND_REGISTRY:STRING=NEVER -DPython_NumPy_INCLUDE_DIRS:PATH=/home/lg/.local/lib/python3.6/site-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/usr/bin/python3 -DPython3_ROOT_DIR:PATH=/usr -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_NumPy_INCLUDE_DIRS:PATH=/home/lg/.local/lib/python3.6/site-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/home/lg/.local/lib/python3.6/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
  
  -- The C compiler identification is GNU 7.5.0
  -- The CXX compiler identification is GNU 7.5.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
  -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found version "3.6.9")
  -- Found Cython: /usr/bin/cython
  -- Found NumPy: /usr/include (found version "1.19.1")
  -- Checking for module 'eigen3'
  --   Found eigen3, version 3.3.4
  CMake Warning (dev) at /home/lg/.local/lib/python3.6/site-packages/cmake/data/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
    The package name passed to `find_package_handle_standard_args` (eigen) does
    not match the name of the calling package (PCL).  This can lead to problems
    in calling code that expects `find_package` result variables (e.g.,
    `_FOUND`) to follow a certain pattern.
  Call Stack (most recent call first):
    /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:153 (find_package_handle_standard_args)
    /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:638 (find_eigen)
    /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:850 (find_external_library)
    pcl/CMakeLists.txt:1 (find_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.
  
  -- Found eigen: /usr/include/eigen3
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
  -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
  -- Looking for pthread_create in pthreads
  -- Looking for pthread_create in pthreads - not found
  -- Looking for pthread_create in pthread
  -- Looking for pthread_create in pthread - found
  -- Found Threads: TRUE
  -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.40.0") found components: system filesystem thread date_time iostreams serialization chrono atomic regex
  -- looking for PCL_COMMON
  CMake Warning (dev) at /home/lg/.local/lib/python3.6/site-packages/cmake/data/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
    The package name passed to `find_package_handle_standard_args` (PCL_COMMON)
    does not match the name of the calling package (PCL).  This can lead to
    problems in calling code that expects `find_package` result variables
    (e.g., `_FOUND`) to follow a certain pattern.
  Call Stack (most recent call first):
    /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:911 (find_package_handle_standard_args)
    pcl/CMakeLists.txt:1 (find_package)
  This warning is for project developers.  Use -Wno-dev to suppress it.

  
  -- Could NOT find DSSDK (missing: _DSSDK_LIBRARIES)
  ** WARNING ** io features related to dssdk will be disabled
  ** WARNING ** io features related to pcap will be disabled
  ** WARNING ** io features related to png will be disabled
  -- The imported target "vtkRenderingPythonTkWidgets" references the file
     "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
  but this file does not exist.  Possible reasons include:
  * The file was deleted, renamed, or moved to another location.
  * An install or uninstall procedure did not complete successfully.
  * The installation package was faulty and contained
     "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
  but not all the files it references.
  
  -- The imported target "vtk" references the file
     "/usr/bin/vtk"
  but this file does not exist.  Possible reasons include:
  * The file was deleted, renamed, or moved to another location.
  * An install or uninstall procedure did not complete successfully.
  * The installation package was faulty and contained
     "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
  but not all the files it references.
  

  
  -- Could NOT find DSSDK (missing: _DSSDK_LIBRARIES)
  ** WARNING ** io features related to dssdk will be disabled
  ** WARNING ** io features related to pcap will be disabled
  ** WARNING ** io features related to png will be disabled
  -- The imported target "vtkRenderingPythonTkWidgets" references the file
     "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
  but this file does not exist.  Possible reasons include:
  * The file was deleted, renamed, or moved to another location.
  * An install or uninstall procedure did not complete successfully.
  * The installation package was faulty and contained
     "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
  but not all the files it references.
  
  -- The imported target "vtk" references the file
     "/usr/bin/vtk"
  but this file does not exist.  Possible reasons include:
  * The file was deleted, renamed, or moved to another location.
  * An install or uninstall procedure did not complete successfully.
  * The installation package was faulty and contained
     "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
  but not all the files it references.

  -- PCL visualization found, build pcl.visualization
  _modinit_prefix:PyInit_
  _modinit_prefix:PyInit_
  -- Configuring done
  -- Generating done
  CMake Warning:
    Manually-specified variables were not used by the project:
  
      Python3_EXECUTABLE
      Python3_FIND_REGISTRY
      Python3_INCLUDE_DIR
      Python3_NumPy_INCLUDE_DIRS
      Python3_ROOT_DIR
      Python_FIND_REGISTRY
      Python_INCLUDE_DIR
      Python_NumPy_INCLUDE_DIRS
      Python_ROOT_DIR
      SKBUILD
  
  
  -- Build files have been written to: /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build
  [1/22] Generating CXX source pcl/visualization/_connection.cxx
  [2/22] Generating CXX source pcl/common/PCLBase.cxx
  FAILED: pcl/common/PCLBase.cxx /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/common/PCLBase.cxx
  cd /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/common && /usr/bin/cython --cplus --include-dir /usr/include/python3.6m --include-dir /usr/include --include-dir /usr/include/pcl-1.8 --include-dir /usr/include/eigen3 --include-dir /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/include --include-dir /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/pcl/include /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/pcl/common/PCLBase.pyx --output-file /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/common/PCLBase.cxx
  
  Error compiling Cython file:
  ------------------------------------------------------------
  ...
      property InputCloud:
          def __get__(self):
              return self._input
          def __set__(self, PointCloud inputc):
              self._input = inputc
              self._ptr.get().setInputCloud(inputc.csptr())
                                                       ^
  ------------------------------------------------------------
  
  /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/pcl/common/PCLBase.pyx:15:54: Cannot assign type 'shared_ptr[const PCLPointCloud2]' to 'PCLPointCloud2ConstPtr'
  [3/22] Generating CXX source pcl/io/_io.cxx
  [4/22] Generating CXX source pcl/filters/_filters.cxx
  [5/22] Generating CXX source pcl/PointField.cxx
  [6/22] Building CXX object pcl/visualization/CMakeFiles/_connection.dir/_connection.cxx.o
  [7/22] Generating CXX source pcl/PointCloud.cxx
  ninja: build stopped: subcommand failed.
  Traceback (most recent call last):
    File "/home/lg/.local/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 640, in setup
      cmkr.make(make_args, install_target=cmake_install_target, env=env)
    File "/home/lg/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 672, in make
      self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
    File "/home/lg/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 704, in make_impl
      "An error occurred while building with CMake.\n"
  
  An error occurred while building with CMake.
    Command:
      cmake --build . --target install --config Release --
    Install target:
      install
    Source directory:
      /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c
    Working directory:
      /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build
  Please check the install target is valid and see CMake's output for more information.
  ----------------------------------------
  ERROR: Failed building wheel for pcl-py
  Running setup.py clean for pcl-py
Failed to build pcl-py
Installing collected packages: pcl-py
    Running setup.py install for pcl-py ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dwrweqhd/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/lg/.local/include/python3.6m/pcl-py
         cwd: /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/
    Complete output (857 lines):
    /home/lg/.local/lib/python3.6/site-packages/setuptools/command/install.py:37: SetuptoolsDeprecationWarning: setup.py install is deprecated. Use build and pip and other standards-based tools.
      setuptools.SetuptoolsDeprecationWarning,
    
    
    --------------------------------------------------------------------------------
    -- Trying "Ninja" generator
    --------------------------------
    ---------------------------
    ----------------------
    -----------------
    ------------
    -------
    --
    Not searching for unused variables given on the command line.
    -- The C compiler identification is GNU 7.5.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- The CXX compiler identification is GNU 7.5.0
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_cmake_test_compile/build
    --
    -------
    ------------
    -----------------
    ----------------------
    ---------------------------
    --------------------------------
    -- Trying "Ninja" generator - success
    --------------------------------------------------------------------------------
    
    Configuring Project
      Working directory:
        /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build
      Command:
        cmake /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-install -DPYTHON_VERSION_STRING:STRING=3.6.9 -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/lg/.local/lib/python3.6/site-packages/skbuild/resources/cmake -DPYTHON_EXECUTABLE:PATH=/usr/bin/python3 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPYTHON_LIBRARY:PATH=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DPython_EXECUTABLE:PATH=/usr/bin/python3 -DPython_ROOT_DIR:PATH=/usr -DPython_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPython_FIND_REGISTRY:STRING=NEVER -DPython_NumPy_INCLUDE_DIRS:PATH=/home/lg/.local/lib/python3.6/site-packages/numpy/core/include -DPython3_EXECUTABLE:PATH=/usr/bin/python3 -DPython3_ROOT_DIR:PATH=/usr -DPython3_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPython3_FIND_REGISTRY:STRING=NEVER -DPython3_NumPy_INCLUDE_DIRS:PATH=/home/lg/.local/lib/python3.6/site-packages/numpy/core/include -DCMAKE_MAKE_PROGRAM:FILEPATH=/home/lg/.local/lib/python3.6/site-packages/ninja/data/bin/ninja -DCMAKE_BUILD_TYPE:STRING=Release
    
    -- The C compiler identification is GNU 7.5.0
    -- The CXX compiler identification is GNU 7.5.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found PythonInterp: /usr/bin/python3 (found version "3.6.9")
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found version "3.6.9")
    -- Found Cython: /usr/bin/cython
    -- Found NumPy: /usr/include (found version "1.19.1")
    -- Checking for module 'eigen3'
    --   Found eigen3, version 3.3.4
    CMake Warning (dev) at /home/lg/.local/lib/python3.6/site-packages/cmake/data/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
      The package name passed to `find_package_handle_standard_args` (eigen) does
      not match the name of the calling package (PCL).  This can lead to problems
      in calling code that expects `find_package` result variables (e.g.,
      `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:153 (find_package_handle_standard_args)
      /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:638 (find_eigen)
      /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:850 (find_external_library)
      pcl/CMakeLists.txt:1 (find_package)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    
    -- Found eigen: /usr/include/eigen3
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD
    -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed
    -- Looking for pthread_create in pthreads
    -- Looking for pthread_create in pthreads - not found
    -- Looking for pthread_create in pthread
    -- Looking for pthread_create in pthread - found
    -- Found Threads: TRUE
    -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.40.0") found components: system filesystem thread date_time iostreams serialization chrono atomic regex
    -- looking for PCL_COMMON
    CMake Warning (dev) at /home/lg/.local/lib/python3.6/site-packages/cmake/data/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message):
      The package name passed to `find_package_handle_standard_args` (PCL_COMMON)
      does not match the name of the calling package (PCL).  This can lead to
      problems in calling code that expects `find_package` result variables
      (e.g., `_FOUND`) to follow a certain pattern.
    Call Stack (most recent call first):
      /usr/lib/x86_64-linux-gnu/cmake/pcl/PCLConfig.cmake:911 (find_package_handle_standard_args)
      pcl/CMakeLists.txt:1 (find_package)
    This warning is for project developers.  Use -Wno-dev to suppress it.
    

    
    -- Could NOT find DSSDK (missing: _DSSDK_LIBRARIES)
    ** WARNING ** io features related to dssdk will be disabled
    ** WARNING ** io features related to pcap will be disabled
    ** WARNING ** io features related to png will be disabled
    -- The imported target "vtkRenderingPythonTkWidgets" references the file
       "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
    but this file does not exist.  Possible reasons include:
    * The file was deleted, renamed, or moved to another location.
    * An install or uninstall procedure did not complete successfully.
    * The installation package was faulty and contained
       "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
    but not all the files it references.
    
    -- The imported target "vtk" references the file
       "/usr/bin/vtk"
    but this file does not exist.  Possible reasons include:
    * The file was deleted, renamed, or moved to another location.
    * An install or uninstall procedure did not complete successfully.
    * The installation package was faulty and contained
       "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
    but not all the files it references.
    
 
    
    -- Could NOT find DSSDK (missing: _DSSDK_LIBRARIES)
    ** WARNING ** io features related to dssdk will be disabled
    ** WARNING ** io features related to pcap will be disabled
    ** WARNING ** io features related to png will be disabled
    -- The imported target "vtkRenderingPythonTkWidgets" references the file
       "/usr/lib/x86_64-linux-gnu/libvtkRenderingPythonTkWidgets.so"
    but this file does not exist.  Possible reasons include:
    * The file was deleted, renamed, or moved to another location.
    * An install or uninstall procedure did not complete successfully.
    * The installation package was faulty and contained
       "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
    but not all the files it references.
    
    -- The imported target "vtk" references the file
       "/usr/bin/vtk"
    but this file does not exist.  Possible reasons include:
    * The file was deleted, renamed, or moved to another location.
    * An install or uninstall procedure did not complete successfully.
    * The installation package was faulty and contained
       "/usr/lib/cmake/vtk-6.3/VTKTargets.cmake"
    but not all the files it references.
    

    -- PCL visualization found, build pcl.visualization
    _modinit_prefix:PyInit_
    _modinit_prefix:PyInit_
    -- Configuring done
    -- Generating done
    CMake Warning:
      Manually-specified variables were not used by the project:
    
        Python3_EXECUTABLE
        Python3_FIND_REGISTRY
        Python3_INCLUDE_DIR
        Python3_NumPy_INCLUDE_DIRS
        Python3_ROOT_DIR
        Python_FIND_REGISTRY
        Python_INCLUDE_DIR
        Python_NumPy_INCLUDE_DIRS
        Python_ROOT_DIR
        SKBUILD
    
    
    -- Build files have been written to: /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build
    [1/22] Generating CXX source pcl/visualization/_connection.cxx
    [2/22] Generating CXX source pcl/common/PCLBase.cxx
    FAILED: pcl/common/PCLBase.cxx /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/common/PCLBase.cxx
    cd /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/common && /usr/bin/cython --cplus --include-dir /usr/include/python3.6m --include-dir /usr/include --include-dir /usr/include/pcl-1.8 --include-dir /usr/include/eigen3 --include-dir /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/include --include-dir /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/pcl/include /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/pcl/common/PCLBase.pyx --output-file /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build/pcl/common/PCLBase.cxx
    
    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        property InputCloud:
            def __get__(self):
                return self._input
            def __set__(self, PointCloud inputc):
                self._input = inputc
                self._ptr.get().setInputCloud(inputc.csptr())
                                                         ^
    ------------------------------------------------------------
    
    /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/pcl/common/PCLBase.pyx:15:54: Cannot assign type 'shared_ptr[const PCLPointCloud2]' to 'PCLPointCloud2ConstPtr'
    [3/22] Generating CXX source pcl/io/_io.cxx
    [4/22] Generating CXX source pcl/filters/_filters.cxx
    [5/22] Generating CXX source pcl/PointField.cxx
    [6/22] Generating CXX source pcl/PointCloud.cxx
    [7/22] Building CXX object pcl/visualization/CMakeFiles/_connection.dir/_connection.cxx.o
    ninja: build stopped: subcommand failed.
    Traceback (most recent call last):
      File "/home/lg/.local/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 640, in setup
        cmkr.make(make_args, install_target=cmake_install_target, env=env)
      File "/home/lg/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 672, in make
        self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
      File "/home/lg/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 704, in make_impl
        "An error occurred while building with CMake.\n"
    
    An error occurred while building with CMake.
      Command:
        cmake --build . --target install --config Release --
      Install target:
        install
      Source directory:
        /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c
      Working directory:
        /tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/_skbuild/linux-x86_64-3.6/cmake-build
    Please check the install target is valid and see CMake's output for more information.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/setup.py'"'"'; __file__='"'"'/tmp/pip-install-1hi13jqz/pcl-py_71924a69a9464d14b2df34c496bfe78c/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-dwrweqhd/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/lg/.local/include/python3.6m/pcl-py Check the logs for full command output.
lg@lg-ThinkPad-P52:~$

I hope someone can help and if you need more informations, please say it.

Thanks in advance.

Using filters

Hello. How can I use the filters or the voxel grid? There isn't any .pyi file in the folder and I can't call any class or method in python.

Install failed, Cannot assign type 'shared_ptr[const PCLPointCloud2]' to 'PCLPointCloud2ConstPtr'

With PCL 1.8 installed, system is jetson nano. Also tried in Ubuntu 18.06 x86_64.

    [ 16%] Linking CXX shared module PointField.cpython-36m-aarch64-linux-gnu.so
    [ 16%] Built target PointField
    [ 22%] Generating CXX source pcl/PointCloud.cxx
    Scanning dependencies of target PointCloud
    [ 27%] Building CXX object pcl/CMakeFiles/PointCloud.dir/PointCloud.cxx.o
    In file included from /usr/include/python3.6m/numpy/ndarraytypes.h:1809:0,
                     from /usr/include/python3.6m/numpy/ndarrayobject.h:18,
                     from /usr/include/python3.6m/numpy/arrayobject.h:4,
                     from /tmp/pip-build-5zyu__f7/pcl-py/_skbuild/linux-aarch64-3.6/cmake-build/pcl/PointCloud.cxx:507:
    /usr/include/python3.6m/numpy/npy_1_7_deprecated_api.h:15:2: warning: #warning "Using deprecated NumPy API, disable it by " "#defining NPY_NO_DEPRECATED_API NPY_1_7_API_VERSION" [-Wcpp]
     #warning "Using deprecated NumPy API, disable it by " \
      ^~~~~~~
    [ 33%] Linking CXX shared module PointCloud.cpython-36m-aarch64-linux-gnu.so
    [ 33%] Built target PointCloud
    [ 38%] Generating CXX source pcl/common/PCLBase.cxx

    Error compiling Cython file:
    ------------------------------------------------------------
    ...
        property InputCloud:
            def __get__(self):
                return self._input
            def __set__(self, PointCloud inputc):
                self._input = inputc
                self._ptr.get().setInputCloud(inputc.csptr())
                                                         ^
    ------------------------------------------------------------

    /tmp/pip-build-5zyu__f7/pcl-py/pcl/common/PCLBase.pyx:15:54: Cannot assign type 'shared_ptr[const PCLPointCloud2]' to 'PCLPointCloud2ConstPtr'
    pcl/common/CMakeFiles/PCLBase.dir/build.make:62: recipe for target 'pcl/common/PCLBase.cxx' failed
    make[2]: *** [pcl/common/PCLBase.cxx] Error 1
    make[2]: *** Deleting file 'pcl/common/PCLBase.cxx'
    CMakeFiles/Makefile2:190: recipe for target 'pcl/common/CMakeFiles/PCLBase.dir/all' failed
    make[1]: *** [pcl/common/CMakeFiles/PCLBase.dir/all] Error 2
    Makefile:129: recipe for target 'all' failed
    make: *** [all] Error 2
    Traceback (most recent call last):
      File "/usr/local/lib/python3.6/dist-packages/skbuild/setuptools_wrap.py", line 589, in setup
        cmkr.make(make_args, env=env)
      File "/usr/local/lib/python3.6/dist-packages/skbuild/cmaker.py", line 507, in make
        os.path.abspath(CMAKE_BUILD_DIR())))

    An error occurred while building with CMake.
      Command:
        cmake --build . --target install --config Release --
      Source directory:
        /tmp/pip-build-5zyu__f7/pcl-py
      Working directory:
        /tmp/pip-build-5zyu__f7/pcl-py/_skbuild/linux-aarch64-3.6/cmake-build
    Please see CMake's output for more information.

    ----------------------------------------
Command "/usr/bin/python3 -u -c "import setuptools, tokenize;__file__='/tmp/pip-build-5zyu__f7/pcl-py/setup.py';f=getattr(tokenize, 'open', open)(__file__);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, __file__, 'exec'))" install --record /tmp/pip-g_cur7d1-record/install-record.txt --single-version-externally-managed --compile" failed with error code 1 in /tmp/pip-build-5zyu__f7/pcl-py/

Installing pcl-py 0.2.11 failed

Ubuntu 18.04.3 LTS
Python 3.8.12 (conda)
Cython 0.29.24
Installing using pip install pcl-py

Building wheels for collected packages: pcl-py
  Building wheel for pcl-py (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-5jqzh6ts
       cwd: /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/
  Complete output (91 lines):


  --------------------------------------------------------------------------------
  -- Trying "Ninja" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 7.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is GNU 7.4.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Ninja" generator - success
  --------------------------------------------------------------------------------

  Configuring Project
    Working directory:
      /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-build
    Command:
      cmake /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -DPYTHON_VERSION_STRING:STRING=3.8.12 -DPYTHON_INCLUDE_DIR:PATH=/home/chenmingrui/anaconda3/envs/droidenv/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release

  -- The C compiler identification is GNU 7.4.0
  -- The CXX compiler identification is GNU 7.4.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found PythonInterp: /home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 (found version "3.8.12")
  -- Found PythonLibs: /home/chenmingrui/anaconda3/envs/droidenv/lib/libpython3.8.so (found version "3.8.12")
  -- Found Cython: /home/chenmingrui/anaconda3/envs/droidenv/bin/cython
  -- Found NumPy: /home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/numpy/core/include (found version "1.21.2")
  CMake Error at pcl/CMakeLists.txt:1 (find_package):
    By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "PCL", but
    CMake did not find one.

    Could not find a package configuration file provided by "PCL" with any of
    the following names:

      PCLConfig.cmake
      pcl-config.cmake

    Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
    to a directory containing one of the above files.  If "PCL" provides a
    separate development package or SDK, be sure it has been installed.


  -- Configuring incomplete, errors occurred!
  See also "/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-build/CMakeFiles/CMakeOutput.log".
  Traceback (most recent call last):
    File "/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 586, in setup
      env = cmkr.configure(cmake_args,
    File "/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/cmaker.py", line 237, in configure
      raise SKBuildError(

  An error occurred while configuring with CMake.
    Command:
      cmake /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -DPYTHON_VERSION_STRING:STRING=3.8.12 -DPYTHON_INCLUDE_DIR:PATH=/home/chenmingrui/anaconda3/envs/droidenv/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release
    Source directory:
      /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd
    Working directory:
      /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-build
  Please see CMake's output for more information.
  ----------------------------------------
  ERROR: Failed building wheel for pcl-py
  Running setup.py clean for pcl-py
Failed to build pcl-py
Installing collected packages: pcl-py
    Running setup.py install for pcl-py ... error
    ERROR: Command errored out with exit status 1:
     command: /home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-7_6eqead/install-record.txt --single-version-externally-managed --compile --install-headers /home/chenmingrui/anaconda3/envs/droidenv/include/python3.8/pcl-py
         cwd: /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/
    Complete output (91 lines):


    --------------------------------------------------------------------------------
    -- Trying "Ninja" generator
    --------------------------------
    ---------------------------
    ----------------------
    -----------------
    ------------
    -------
    --
    Not searching for unused variables given on the command line.
    -- The C compiler identification is GNU 7.4.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- The CXX compiler identification is GNU 7.4.0
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_cmake_test_compile/build
    --
    -------
    ------------
    -----------------
    ----------------------
    ---------------------------
    --------------------------------
    -- Trying "Ninja" generator - success
    --------------------------------------------------------------------------------

    Configuring Project
      Working directory:
        /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-build
      Command:
        cmake /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -DPYTHON_VERSION_STRING:STRING=3.8.12 -DPYTHON_INCLUDE_DIR:PATH=/home/chenmingrui/anaconda3/envs/droidenv/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release

    -- The C compiler identification is GNU 7.4.0
    -- The CXX compiler identification is GNU 7.4.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found PythonInterp: /home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 (found version "3.8.12")
    -- Found PythonLibs: /home/chenmingrui/anaconda3/envs/droidenv/lib/libpython3.8.so (found version "3.8.12")
    -- Found Cython: /home/chenmingrui/anaconda3/envs/droidenv/bin/cython
    -- Found NumPy: /home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/numpy/core/include (found version "1.21.2")
    CMake Error at pcl/CMakeLists.txt:1 (find_package):
      By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "PCL", but
      CMake did not find one.

      Could not find a package configuration file provided by "PCL" with any of
      the following names:

        PCLConfig.cmake
        pcl-config.cmake

      Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
      to a directory containing one of the above files.  If "PCL" provides a
      separate development package or SDK, be sure it has been installed.


    -- Configuring incomplete, errors occurred!
    See also "/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-build/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/setuptools_wrap.py", line 586, in setup
        env = cmkr.configure(cmake_args,
      File "/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/cmaker.py", line 237, in configure
        raise SKBuildError(

    An error occurred while configuring with CMake.
      Command:
        cmake /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -DPYTHON_VERSION_STRING:STRING=3.8.12 -DPYTHON_INCLUDE_DIR:PATH=/home/chenmingrui/anaconda3/envs/droidenv/include/python3.8 -DPYTHON_LIBRARY:FILEPATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/libpython3.8.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/chenmingrui/anaconda3/envs/droidenv/lib/python3.8/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release
      Source directory:
        /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd
      Working directory:
        /tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/_skbuild/linux-x86_64-3.8/cmake-build
    Please see CMake's output for more information.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /home/chenmingrui/anaconda3/envs/droidenv/bin/python3.8 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/setup.py'"'"'; __file__='"'"'/tmp/pip-install-agoqmaus/pcl-py_42320a6459424cc99fa78d2ba2f502cd/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-7_6eqead/install-record.txt --single-version-externally-managed --compile --install-headers /home/chenmingrui/anaconda3/envs/droidenv/include/python3.8/pcl-py Check the logs for full command output.

pip installation failes

Hello,
I tried installing your awesome library but unfortunately, I wasn't successful.

Python: 3.6
OS: Ubuntu 20.10
numpy: 1.19.4
cython: 0.29.25

At first, it says you need scikit-build installed. After installing that, I get this error message below. Any guidelines on how to install this library? Thanks!

~$ pip install pcl-py
Defaulting to user installation because normal site-packages is not writeable
Collecting pcl-py
  Using cached pcl-py-0.2.11.tar.gz (291 kB)
  Preparing metadata (setup.py) ... done
Requirement already satisfied: numpy>=1.11 in ./.local/lib/python3.6/site-packages (from pcl-py) (1.19.4)
Building wheels for collected packages: pcl-py
  Building wheel for pcl-py (setup.py) ... error
  ERROR: Command errored out with exit status 1:
   command: /usr/bin/python3.6 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' bdist_wheel -d /tmp/pip-wheel-wfj54ivo
       cwd: /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/
  Complete output (91 lines):
  
  
  --------------------------------------------------------------------------------
  -- Trying "Ninja" generator
  --------------------------------
  ---------------------------
  ----------------------
  -----------------
  ------------
  -------
  --
  Not searching for unused variables given on the command line.
  -- The C compiler identification is GNU 10.3.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- The CXX compiler identification is GNU 10.3.0
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Configuring done
  -- Generating done
  -- Build files have been written to: /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_cmake_test_compile/build
  --
  -------
  ------------
  -----------------
  ----------------------
  ---------------------------
  --------------------------------
  -- Trying "Ninja" generator - success
  --------------------------------------------------------------------------------
  
  Configuring Project
    Working directory:
      /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-build
    Command:
      cmake /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1 -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6 -DPYTHON_VERSION_STRING:STRING=3.6.14 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/erik/.local/lib/python3.6/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release
  
  -- The C compiler identification is GNU 10.3.0
  -- The CXX compiler identification is GNU 10.3.0
  -- Detecting C compiler ABI info
  -- Detecting C compiler ABI info - done
  -- Check for working C compiler: /usr/bin/cc - skipped
  -- Detecting C compile features
  -- Detecting C compile features - done
  -- Detecting CXX compiler ABI info
  -- Detecting CXX compiler ABI info - done
  -- Check for working CXX compiler: /usr/bin/c++ - skipped
  -- Detecting CXX compile features
  -- Detecting CXX compile features - done
  -- Found PythonInterp: /usr/bin/python3.6 (found version "3.6.14")
  -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found version "3.6.14")
  -- Found Cython: /home/erik/.local/bin/cython
  -- Found NumPy: /usr/include (found version "1.19.4")
  CMake Error at pcl/CMakeLists.txt:1 (find_package):
    By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
    asked CMake to find a package configuration file provided by "PCL", but
    CMake did not find one.
  
    Could not find a package configuration file provided by "PCL" with any of
    the following names:
  
      PCLConfig.cmake
      pcl-config.cmake
  
    Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
    to a directory containing one of the above files.  If "PCL" provides a
    separate development package or SDK, be sure it has been installed.
  
  
  -- Configuring incomplete, errors occurred!
  See also "/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-build/CMakeFiles/CMakeOutput.log".
  Traceback (most recent call last):
    File "/home/erik/.local/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 590, in setup
      languages=cmake_languages
    File "/home/erik/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 248, in configure
      os.path.abspath(CMAKE_BUILD_DIR())))
  
  An error occurred while configuring with CMake.
    Command:
      cmake /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1 -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6 -DPYTHON_VERSION_STRING:STRING=3.6.14 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/erik/.local/lib/python3.6/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release
    Source directory:
      /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1
    Working directory:
      /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-build
  Please see CMake's output for more information.
  ----------------------------------------
  ERROR: Failed building wheel for pcl-py
  Running setup.py clean for pcl-py
Failed to build pcl-py
Installing collected packages: pcl-py
    Running setup.py install for pcl-py ... error
    ERROR: Command errored out with exit status 1:
     command: /usr/bin/python3.6 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-w4rln4nn/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/erik/.local/include/python3.6m/pcl-py
         cwd: /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/
    Complete output (91 lines):
    
    
    --------------------------------------------------------------------------------
    -- Trying "Ninja" generator
    --------------------------------
    ---------------------------
    ----------------------
    -----------------
    ------------
    -------
    --
    Not searching for unused variables given on the command line.
    -- The C compiler identification is GNU 10.3.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- The CXX compiler identification is GNU 10.3.0
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Configuring done
    -- Generating done
    -- Build files have been written to: /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_cmake_test_compile/build
    --
    -------
    ------------
    -----------------
    ----------------------
    ---------------------------
    --------------------------------
    -- Trying "Ninja" generator - success
    --------------------------------------------------------------------------------
    
    Configuring Project
      Working directory:
        /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-build
      Command:
        cmake /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1 -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6 -DPYTHON_VERSION_STRING:STRING=3.6.14 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/erik/.local/lib/python3.6/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release
    
    -- The C compiler identification is GNU 10.3.0
    -- The CXX compiler identification is GNU 10.3.0
    -- Detecting C compiler ABI info
    -- Detecting C compiler ABI info - done
    -- Check for working C compiler: /usr/bin/cc - skipped
    -- Detecting C compile features
    -- Detecting C compile features - done
    -- Detecting CXX compiler ABI info
    -- Detecting CXX compiler ABI info - done
    -- Check for working CXX compiler: /usr/bin/c++ - skipped
    -- Detecting CXX compile features
    -- Detecting CXX compile features - done
    -- Found PythonInterp: /usr/bin/python3.6 (found version "3.6.14")
    -- Found PythonLibs: /usr/lib/x86_64-linux-gnu/libpython3.6m.so (found version "3.6.14")
    -- Found Cython: /home/erik/.local/bin/cython
    -- Found NumPy: /usr/include (found version "1.19.4")
    CMake Error at pcl/CMakeLists.txt:1 (find_package):
      By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
      asked CMake to find a package configuration file provided by "PCL", but
      CMake did not find one.
    
      Could not find a package configuration file provided by "PCL" with any of
      the following names:
    
        PCLConfig.cmake
        pcl-config.cmake
    
      Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
      to a directory containing one of the above files.  If "PCL" provides a
      separate development package or SDK, be sure it has been installed.
    
    
    -- Configuring incomplete, errors occurred!
    See also "/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-build/CMakeFiles/CMakeOutput.log".
    Traceback (most recent call last):
      File "/home/erik/.local/lib/python3.6/site-packages/skbuild/setuptools_wrap.py", line 590, in setup
        languages=cmake_languages
      File "/home/erik/.local/lib/python3.6/site-packages/skbuild/cmaker.py", line 248, in configure
        os.path.abspath(CMAKE_BUILD_DIR())))
    
    An error occurred while configuring with CMake.
      Command:
        cmake /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1 -G Ninja -DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-install -DPYTHON_EXECUTABLE:FILEPATH=/usr/bin/python3.6 -DPYTHON_VERSION_STRING:STRING=3.6.14 -DPYTHON_INCLUDE_DIR:PATH=/usr/include/python3.6m -DPYTHON_LIBRARY:FILEPATH=/usr/lib/x86_64-linux-gnu/libpython3.6m.so -DSKBUILD:INTERNAL=TRUE -DCMAKE_MODULE_PATH:PATH=/home/erik/.local/lib/python3.6/site-packages/skbuild/resources/cmake -DCMAKE_BUILD_TYPE:STRING=Release
      Source directory:
        /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1
      Working directory:
        /tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/_skbuild/linux-x86_64-3.6/cmake-build
    Please see CMake's output for more information.
    ----------------------------------------
ERROR: Command errored out with exit status 1: /usr/bin/python3.6 -u -c 'import io, os, sys, setuptools, tokenize; sys.argv[0] = '"'"'/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/setup.py'"'"'; __file__='"'"'/tmp/pip-install-2atcbffr/pcl-py_2db27ed945c24aedaed19a5fbee106b1/setup.py'"'"';f = getattr(tokenize, '"'"'open'"'"', open)(__file__) if os.path.exists(__file__) else io.StringIO('"'"'from setuptools import setup; setup()'"'"');code = f.read().replace('"'"'\r\n'"'"', '"'"'\n'"'"');f.close();exec(compile(code, __file__, '"'"'exec'"'"'))' install --record /tmp/pip-record-w4rln4nn/install-record.txt --single-version-externally-managed --user --prefix= --compile --install-headers /home/erik/.local/include/python3.6m/pcl-py Check the logs for full command output.

Suggestion for Pypi information

It does an amazing job for Python point cloud analysis! You know that almost 90% of PCL python library depends on C++ PCL which is really really really difficult to install and hard to pack them in the product (GUI application etc.). Your library solved this problem, awesome!

I just missed this good library when I search in Pypi. I think it may be a good idea if you strengthen this is a pure python library without C++ dependency and PCL library in the Pypi introduction!

Thanks again for your great contribution! Hoping in the future, this library can include more useful funcions.

ImportError: DLL load failed while importing PCLBase: The specified module could not be found.

Hey, I have install pcl.py using PyPI successfully, yet when I import pcl I get:

  File "<ipython-input-2-1e2e5cb12ae8>", line 1, in <module>
    import pcl
  File "C:\Program Files\JetBrains\PyCharm 2021.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "F:\dev\env\venv\lib\site-packages\pcl\__init__.py", line 4, in <module>
    from pcl.common import *
  File "C:\Program Files\JetBrains\PyCharm 2021.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
  File "F:\dev\env\venv\lib\site-packages\pcl\common\__init__.py", line 1, in <module>
    from pcl.common.PCLBase import PCLBase
  File "C:\Program Files\JetBrains\PyCharm 2021.1\plugins\python\helpers\pydev\_pydev_bundle\pydev_import_hook.py", line 21, in do_import
    module = self._system_import(name, *args, **kwargs)
ImportError: DLL load failed while importing PCLBase: The specified module could not be found.

I'm on Windows 10, using python 3.8.6

Unable to install on jetson-tx2

Hi there. I'm trying to install this on a Nvidia Jetson tx2 running Jetpack 3.3.

It seems to have some unresolved cmake dependency, but I haven't been able to track down how to resolve it. Any advice would be greatly appreciated!

$ pip install PyPCL --no-cache-dir
Looking in indexes: https://pypi.org/simple
Collecting PyPCL
Downloading https://files.pythonhosted.org/packages/b4/83/b3d397539f8877d99cc95a7073b58480a09fcee408997c19e2345e9933eb/PyPCL-0.1.8.tar.gz (179kB)
100% |████████████████████████████████| 184kB 2.6MB/s
Requirement already satisfied: numpy in ./venv/lib/python3.7/site-packages (from PyPCL) (1.16.1)
Installing collected packages: PyPCL
Running setup.py install for PyPCL ... error
Complete output from command /home/nvidia/repos/graspai/venv/bin/python3.7 -u -c "import setuptools, tokenize;file='/tmp/pip-install-3lvbtspx/PyPCL/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-pxtpiv6o/install-record.txt --single-version-externally-managed --compile --install-headers /home/nvidia/repos/graspai/venv/include/site/python3.7/PyPCL:

--------------------------------------------------------------------------------
-- Trying "Ninja" generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
Not searching for unused variables given on the command line.
CMake Error: CMake was unable to find a build program corresponding to "Ninja".  CMAKE_MAKE_PROGRAM is not set.  You probably need to select a different build tool.
-- Configuring incomplete, errors occurred!
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying "Ninja" generator - failure
--------------------------------------------------------------------------------



--------------------------------------------------------------------------------
-- Trying "Unix Makefiles" generator
--------------------------------
---------------------------
----------------------
-----------------
------------
-------
--
Not searching for unused variables given on the command line.
-- The C compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- The CXX compiler identification is GNU 5.4.0
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Configuring done
-- Generating done
-- Build files have been written to: /tmp/pip-install-3lvbtspx/PyPCL/_cmake_test_compile/build
--
-------
------------
-----------------
----------------------
---------------------------
--------------------------------
-- Trying "Unix Makefiles" generator - success
--------------------------------------------------------------------------------

-- The C compiler identification is GNU 5.4.0
-- The CXX compiler identification is GNU 5.4.0
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found PythonInterp: /home/nvidia/repos/graspai/venv/bin/python3.7 (found version "3.7")
-- Found PythonLibs: /usr/local/lib/libpython3.7m.a (found version "3.7.0")
-c:42: DeprecationWarning: SO is deprecated, use EXT_SUFFIX
-- Found Cython: /home/nvidia/repos/graspai/venv/bin/cython
CMake Error at pcl/CMakeLists.txt:1 (find_package):
  By not providing "FindPCL.cmake" in CMAKE_MODULE_PATH this project has
  asked CMake to find a package configuration file provided by "PCL", but
  CMake did not find one.

  Could not find a package configuration file provided by "PCL" with any of
  the following names:

    PCLConfig.cmake
    pcl-config.cmake

  Add the installation prefix of "PCL" to CMAKE_PREFIX_PATH or set "PCL_DIR"
  to a directory containing one of the above files.  If "PCL" provides a
  separate development package or SDK, be sure it has been installed.


-- Configuring incomplete, errors occurred!
See also "/tmp/pip-install-3lvbtspx/PyPCL/_skbuild/linux-aarch64-3.7/cmake-build/CMakeFiles/CMakeOutput.log".
Traceback (most recent call last):
  File "/home/nvidia/repos/graspai/venv/lib/python3.7/site-packages/skbuild/setuptools_wrap.py", line 548, in setup
    languages=cmake_languages
  File "/home/nvidia/repos/graspai/venv/lib/python3.7/site-packages/skbuild/cmaker.py", line 232, in configure
    os.path.abspath(CMAKE_BUILD_DIR)))

An error occurred while configuring with CMake.
  Command:
    "cmake" "/tmp/pip-install-3lvbtspx/PyPCL" "-G" "Unix Makefiles" "-DCMAKE_INSTALL_PREFIX:PATH=/tmp/pip-install-3lvbtspx/PyPCL/_skbuild/linux-aarch64-3.7/cmake-install" "-DPYTHON_EXECUTABLE:FILEPATH=/home/nvidia/repos/graspai/venv/bin/python3.7" "-DPYTHON_VERSION_STRING:STRING=3.7.0" "-DPYTHON_INCLUDE_DIR:PATH=/usr/local/include/python3.7m" "-DPYTHON_LIBRARY:FILEPATH=/usr/local/lib/libpython3.7m.a" "-DSKBUILD:BOOL=TRUE" "-DCMAKE_MODULE_PATH:PATH=/home/nvidia/repos/graspai/venv/lib/python3.7/site-packages/skbuild/resources/cmake" "-DCMAKE_BUILD_TYPE:STRING=Release"
  Source directory:
    /tmp/pip-install-3lvbtspx/PyPCL
  Working directory:
    /tmp/pip-install-3lvbtspx/PyPCL/_skbuild/linux-aarch64-3.7/cmake-build
Please see CMake's output for more information.

----------------------------------------

Command "/home/nvidia/repos/graspai/venv/bin/python3.7 -u -c "import setuptools, tokenize;file='/tmp/pip-install-3lvbtspx/PyPCL/setup.py';f=getattr(tokenize, 'open', open)(file);code=f.read().replace('\r\n', '\n');f.close();exec(compile(code, file, 'exec'))" install --record /tmp/pip-record-pxtpiv6o/install-record.txt --single-version-externally-managed --compile --install-headers /home/nvidia/repos/graspai/venv/include/site/python3.7/PyPCL" failed with error code 1 in /tmp/pip-install-3lvbtspx/PyPCL/

Installing on OSX

What are the requirements for installation on OSX?

Using just pip3, I get an error saying that I need XCode installed (XCode 10 is already installed)

Thank you

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.