可参考:https://answers.ros.org/question/274571/import-error-no-module-named-glob/
今天想重新编辑一下moveit的配置文件,执行
$ roslaunch robot_moveit_config setup_assistant.launch
点击load_files的时候,提示无法解析xacro文件
Unable to parse XACRO file
/your path/XXXXXX.xacro
再看Terminal上的提示,重要的一段
Traceback (most recent call last):
File "/opt/ros/indigo/share/xacro/xacro.py", line 60, in <module>
import xacro
File "/opt/ros/indigo/lib/python2.7/dist-packages/xacro/__init__.py", line 36, in <module>
import glob
ModuleNotFoundError: No module named 'glob'
说明python找不到模块 glob。
为什么会出现这个问题呢?
结合第一行的链接,查看已有python,发现电脑上装了多个版本python。因为前一天晚上想要学习一下openai gym,所以装了anaconda3,导致环境变量改变,增加了python3.6路径,而ROS原先的用的都是python 2.7。
$ python -m site
sys.path = [
'/opt/ros/indigo/lib/python2.7/dist-packages',
'/usr/lib/python2.7/dist-packages',
'/home/anaconda3/lib/python36.zip',
'/home/anaconda3/lib/python3.6',
'/home/anaconda3/lib/python3.6/lib-dynload',
'/home/anaconda3/lib/python3.6/site-packages',
]
我暂时是这样处理的,屏蔽掉 .bashrc中增加的anaconda3路径
$ sudo gedit ~/.bashrc
# added by Miniconda3 4.3.21 installer
#export PATH="/home/anaconda3/bin:$PATH"
还没查资料找到更好的方法!!!