anaconda与ros冲突解决方法

当conda初始化shell导致每次启动终端时自动激活虚拟环境,这会使ROS误识别conda的Python解释器,从而在catkin_make时出错。解决这个问题的方法包括:1) 在catkin_make时指定ROS的Python解释器;2) 使用condadeactivate停用conda环境后再执行catkin_make;3) 将condadeactivate命令添加到.bashrc文件中,避免自动激活conda环境。确保首次catkin_make时使用正确的Python解释器,后续就不会有冲突。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

由于安装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环境就算激活也不会造成冲突。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值