-
Notifications
You must be signed in to change notification settings - Fork 388
Description
I built TEASER++ and the Python bindings . The shared object (.so) file is accessible, and I can import the module and see available classes.
Steps I followed:
Built TEASER++ normally.
In build/python, ran:
pip install .
→ Got error:
ERROR: Directory '.' is not installable. Neither 'setup.py' nor 'pyproject.toml' found.
So instead, I exported the .so path to my bashrc:
export PYTHONPATH=$PYTHONPATH:/home/manu/TEASER-plusplus/build/python/teaserpp_python
Verified import works:
import _teaserpp as teaser
print(dir(teaser))
This showed classes like RobustRegistrationSolver, etc.
Problem:
When I try to access ROTATION_ESTIMATION_ALGORITHM (which is required in my project), I get the following error:
teaserpp_python.RobustRegistrationSolver.ROTATION_ESTIMATION_ALGORITHM.GNC_TLS
→ AttributeError: type object 'teaserpp_python._teaserpp.RobustRegistrationSolver' has no attribute 'ROTATION_ESTIMATION_ALGORITHM'
Expected behavior:
The Python bindings should expose ROTATION_ESTIMATION_ALGORITHM (e.g., GNC_TLS) under RobustRegistrationSolver.
System details:
OS: Ubuntu 18.04
Python: 3.6
Steps Followed to install Tesear++
cd TEASER-plusplus
mkdir build && cd build
CC=gcc-9 CXX=g++-9 cmake
-DTEASERPP_PYTHON_VERSION=3.6
-DBUILD_PYTHON_BINDINGS=ON
-Dpybind11_DIR=$(python3 -m pybind11 --cmakedir)
..
make teaserpp_python
In the same build
cd python
pip install .
Question:
Am I installing it right? ( I tried all methods, even using Anaconda and without Anaconda as well and followed the exact steps in the Main Git repo and the Installation guide but even those gave me the same installation results)
Is ROTATION_ESTIMATION_ALGORITHM missing in the current Python bindings, or am I accessing it incorrectly?
If it’s deprecated, what’s the correct way to set the rotation estimation algorithm in Python?
I would be very grateful for any help received
Thank You.