安装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)