原因:ROS默认Python版本为2.x,Anaconda 3将系统的Python设置为3.x。这样编译ROS工作空间中的某些包(例如tf)时,就会因为Python版本报错。
解决方法1: 修改/usr/bin中的python连接,/usr/bin中的python本质是同一文件夹下的python2.x或python3.x的符号链接,因此只要修改连接指向,就可以修改python默认版本。
cd /usr/bin
ls python* #查看现有python版本
sudo rm python #此处要输密码
sudo ln -s python2.x python # 创立新的符号链接
解决方法2: 使用Anaconda创建新的环境,制定python版本为2.x。
以2.7为例:
conda create -n py27 python=2.7
source activate py27
source /opt/ros/kinetic/setup.bash
source /home/PATH_TO_YOUR_WORKSPACE/devel/setup.bash
这样就可以愉快地编译ROS包,正常使用ROS了。