Update: This repo will by default work with Python 3.6. This troubleshooting may still be useful for setting up the repo using a different Python version, for example Python 3.7.
On macOS Catalina using a Python3.7 virtualenv, building pb_robot with python setup.py build
failed with the following error
./ikfast.h:41:10: fatal error: 'python3.6/Python.h' file not found
The compiler can't find the appropriate Python header. The solution is to first locate the header:
$ find /usr/local/Cellar/ -name Python.h
/usr/local/Cellar//python/3.7.7/Frameworks/Python.framework/Versions/3.7/include/python3.7m/Python.h
/usr/local/Cellar//python@3.8/3.8.2/Frameworks/Python.framework/Versions/3.8/include/python3.8/Python.h
which prints the python include directories. I wanted to use 3.7, so then I set the environment variable
export CPLUS_INCLUDE_PATH=/usr/local/Cellar//python/3.7.7/Frameworks/Python.framework/Versions/3.7/include/
and finally modify pb_robot/src/pb_robot/ikfast/ikfast.h
by changing
#include "python3.6/Python.h" -> #include "python3.7m/Python.h"