解决Ubuntu16.04中Anaconda3和ROS对应Python版本矛盾的问题

最近在做一个基于ROS和Gazebo的无人机仿真,中途下载了Anaconda3,创建了一个环境做了其他小实验,然后回头再打开无人机仿真的工作空间就是失败了,出现如下错误:

解决Ubuntu16.04中Anaconda3和ROS对应Python版本矛盾的问题_第1张图片

通过查询发现有人曾遇到相同的问题(下附链接),本人也从中找到了导致该问题出现的原因。

https://answers.ros.org/question/265455/modulenotfounderror-no-module-named-re/?sort=latest

原因就是下载Anaconda3之后运行了source ~/.bashrc命令配置了环境变量,导致在重新运行无人机仿真时python2.7和python3.7互相混淆,Python2.7是ROS使用的版本,而Python3.7是新装的Anaconda3中的版本。

解决Ubuntu16.04中Anaconda3和ROS对应Python版本矛盾的问题_第2张图片

解决方法就是修改home目录下的.bashrc文件,将配置anaconda环境变量的语句注释或者删除,例如

然后就可以重新运行无人机仿真了,但是此时conda指令就无法使用:

这时只要运行以下命令编辑.bashrc就可以:(注意路径按照自己安装anaconda3的位置写

echo ". /home/wsco/anaconda3/etc/profile.d/conda.sh" >> ~/.bashrc

然后.bashrc中会出现一下内容:

这时候我们就可以正常在gazebo下运行基于ROS的无人机仿真,同时正常使用conda指令。

注意每次修改.bashrc后重新打开一个新的终端才会起作用

你可能感兴趣的:(解决Ubuntu16.04中Anaconda3和ROS对应Python版本矛盾的问题)