网上对该问题的解决方案有:
1.Anaconda的原因,屏蔽其路径;
2.PATH 与PYTHONPATH路径的配置问题,需要增加路径,但有时候解决了一个包的路径问题,又会出现其他包缺失的问题。
如果上面的方法没有解决出现的问题,这个时候需要检查一下python的系统默认版本,因为ROS需要在Python的2.7版本。
终端输入python如果出现了:
Python 3.4.3 (default, Nov 12 2018, 22:25:49)
[GCC 4.8.4] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>>
表示此时系统默认的版本是3.48,需要调整默认版本到2.76即可解决出现的问题。调整的方法为:
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3 100
sudo update-alternatives --install /usr/bin/python python /usr/bin/python2 150
调整后(调整回去的方法是将上面的2. 3互换一下,重新执行):在终端输入python显示:
Python 2.7.6 (default, Nov 13 2018, 12:45:42)
[GCC 4.8.4] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>>
此时在运行ros相关指令,便不会提示缺少模块了。
附上我的路径配置:
PYTHONPATH=/opt/ros/indigo/lib/python2.7/dist-packages
PATH=/opt/ros/indigo/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games