原因:ROS默認(rèn)Python版本為2.x衬衬,Anaconda 3將系統(tǒng)的Python設(shè)置為3.x险毁。這樣編譯ROS工作空間中的某些包(例如tf)時(shí)翠胰,就會(huì)因?yàn)镻ython版本報(bào)錯(cuò)棺聊。
解決方法1: 修改/usr/bin中的python連接韧拒,/usr/bin中的python本質(zhì)是同一文件夾下的python2.x或python3.x的符號(hào)鏈接淹接,因此只要修改連接指向,就可以修改python默認(rèn)版本叛溢。
cd /usr/bin
ls python* #查看現(xiàn)有python版本
sudo rm python #此處要輸密碼
sudo ln -s python2.x python # 創(chuàng)立新的符號(hào)鏈接
解決方法2: 使用Anaconda創(chuàng)建新的環(huán)境塑悼,制定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了厢蒜。