安装moveit的时候,在原来的workspace下面添加了moveit的源码.但无论如何都无法进行catkin_make.进而,发现catkin_init_workspace也不好用.
ppeix:src$ catkin_init_workspace
Traceback (most recent call last):File "/opt/ros/hydro/bin/catkin_init_workspace", line 11, in <module>
from catkin.init_workspace import init_workspace
ImportError: No module named catkin.init_workspace
对比发现PYTHONPATH环境变量导致的.
正确的应该是 /opt/ros/hydro/lib/python2.7/dist-packages/catkin 等等这里有ros相关的python package.执行时能够得到调用.
配置python环境变量是通过/opt/ros/hydro/setup.sh 调用另一个_setup_utility.sh 来实现的.
但有另一个问题,如果使用python开发其他的软件包,是不是应当将PYTHONPATH环境变量,进行更多的追加呢?应当是,但当前还没有涉及到ros之外的python package开发.
搜了下pythonpath相关知识:
PYTHONPATH是Python搜索路径,默认我们import的模块都会从PYTHONPATH里面寻找。
使用下面的代码可以打印PYTHONPATH:
print(os.sys.path)<

在尝试编译moveit!源码时遇到问题,catkin_init_workspace无法正常工作。问题源于PYTHONPATH环境变量设置不正确,应指向/opt/ros/hydro/lib/python2.7/dist-packages/catkin等ROS相关Python包。通过执行/opt/ros/hydro/setup.sh来配置Python环境。尽管如此,catkin_make仍然失败,提示moveit_core中的路径缺失。这表明需要完整下载所有相关package才能成功编译。在解决过程中还遇到了对cmake_modules的依赖问题,通过修改CMakeLists.txt文件移除依赖。
最低0.47元/天 解锁文章

被折叠的 条评论
为什么被折叠?



