由于安装anaconda时,对shell执行了conda init
命令,导致每次打开终端都默认激活了conda的python虚拟环境,ros会将虚拟环境中的python解释器识别为ros要用的解释器,最终导致catkin_make
报错。
解决方式1
在catkin_make
时指定ros的python解释器。使用catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3
命令。
解决方式2
在使用catkin_make
前先用conda deactivate
命令停用conda的虚拟环境,再进行catkin_make
。
解决方式3
将conda deactivate
命令加入~/.bashrc
文件,这样每次打开终端时,conda环境都不会自动激活。要使用conda环境时,手动激活即可。
注意:
只有第一次执行catkin_make
时ros会寻找python解释器,只要第一次执行catkin_make
时ros能找到正确python解释器即可。后面再执行catkin_make
时conda环境就算激活也不会造成冲突。