使用ROS编译含有Python的ROS包时会遇到 “Could NOT find PY_em (missing: PY_EM)” 的错误。这个问题通常是由于ROS找不到正确的Python解释器而导致的。解决方法:通过指定正确的Python解释器路径来解决这个问题。Ubuntu系统的Python解释器通常位于 /usr/bin/python3。
使用catkin_make命令并通过-DPYTHON_EXECUTABLE选项来指定正确的Python解释器路径即可。执行以下命令:
catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
可以正常编译
如果想使用虚拟环境中的Python,可以采用如下指令来指定Python解释器(注意先activate你的环境):
catkin_make -DPYTHON_EXECUTABLE=~/miniconda3/envs/YOUR_ENV_NAME/bin/python3
如果提示缺少catkin_pkg,则需要先在虚拟环境中安装该包
python3 -m pip install catkin_pkg
然后就可以编译。