如何解决ros2与其他软件冲突的问题

本文讲述了在Ubuntu系统上安装ROS2后与Anaconda冲突的问题,提供了三种解决方案:1)使用conda虚拟环境隔离;2)修改.bashrc文件,通过alias切换Python环境;3)解决海康相机SDK引起的冲突,如删除特定库文件或调整LD_LIBRARY_PATH。
摘要由CSDN通过智能技术生成

如何解决ros2与conda冲突的问题

在Ubuntu下安装ROS2之后,再安装Anaconda,Anaconda的base环境下的python将被作为默认python进行调用。当用户需要运行ROS2程序的时候,这种默认设置会导致报错。

安装conda并创建conda环境之后,ros2就会使用conda环境,就会造成报错,导致运行不了ros2的程序。

当初我的解决办法是:

在.bashrc环境变量中删除conda有关的环境变量,就可以运行ros2程序。但是这种方法导致不能使用conda了,所以想进一步解决。

先在终端退出conda再说

conda deactivate

解决方法1

用conda建立虚拟环境,在虚拟环境下安装ROS2的运行库来解决这个问题,但是这样做费时费力

解决方法2

比较简单的解决方法去掉.bashrc文件中anaconda默认的环境设置,用一个alias替代。默认情况下使用ROS2的Python环境,当需要使用Anaconda的时候,执行这个alias,使用Anaconda的Python环境。

sudo gedit ~/.bashrc

把原来的conda环境变量注释掉,比如我的环境变量是下面的,我直接注释掉

# >>> conda initialize >>>
# __conda_setup="$('/home/fishros/miniconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
#     eval "$__conda_setup"
# else
#     if [ -f "/home/fishros/miniconda3/etc/profile.d/conda.sh" ]; then
#         . "/home/fishros/miniconda3/etc/profile.d/conda.sh"
#     else
#         export PATH="/home/fishros/miniconda3/bin:$PATH"
#     fi
# fi
# unset __conda_setup
# <<< conda initialize <<<

在.bashrc文件中添加一个alias,用于在需要时切换到Anaconda环境。在文件末尾添加如下行:

注意自己的实际路径,不要照抄
alias activate="source /home/fishros/miniconda3/bin/activate"

保存退出,然后     source ~/.bashrc

现在可以使用 activate 命令来激活Anaconda环境

需要切回ROS 2的Python环境时 conda deactivate 简单地关闭conda环境

解决方法3

翻阅很多资料,暂时没找到二者自由切换的好方法,如果这两个都想用,那么就注意管理好python环境......

如何解决ros2与海康相机驱动冲突的问题

安装海康工业相机的SDK后,就会与ROS2下的某些库冲突,造成很多麻烦

参考:/usr/bin/ld: ../../lib/libpcl_io.so.1.8.0: undefined reference to `libusb_set_option‘错误解决-海康摄像头SDK-CSDN博客

 可以尝试删除以下文件:


sudo rm -rf  /opt/MVS/lib/64/libusb-1.0.so.0
sudo rm -rf  /opt/MVS/lib/32/libusb-1.0.so.0

 

实在不行,把海康相机的ros2包放到其他目录,不放在一起编译

或者:

修改.bashrc和.profile,海康驱动安装的时候会直接把它的库写到LD_LIBRARY_PATH

  • 7
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

IT小艺

如果文章对你有用,请我喝咖啡吧

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值