关于Ubuntu安装完Anaconda后,安装ROS2,进行编译报错(colcon build)解决方案

文章讲述了在Ubuntu安装Anaconda后安装ROS2时遇到的编译问题及其解决方案。通过修改.bashrc文件注释掉Anaconda的初始化命令以解决ROS2编译错误,并将这些命令移到一个新的文件(.condainit)中,以便需要时通过source命令激活Anaconda环境。这样可以在不影响ROS2编译的同时,也能正常使用Anaconda及其创建的环境。
摘要由CSDN通过智能技术生成

Ubuntu安装完Anaconda后,安装ROS2,进行编译报错(colcon build)解决方案

当我们用Ubuntu安装完Anaconda后,如果有学习ros2的需要,此时二者会发生冲突,ros2会在Anaconda配置环境下运行,出现错误就难以避免,作者在Ubuntu22.04上反复实验,最终解决了该问题。下面将方法讲解如下。

一、解决ROS2无法编译问题

打开主目录下的**.bashrc**文件,该文件是开机启动文件,也是一个隐藏文件,如果无法查看到,利用快捷键【Ctrl+H】显示。打开后,将Anaconda的初始化命令注释掉。如下:

# # >>> conda initialize >>>
# # !! Contents within this block are managed by 'conda init' !!
# __conda_setup="$('/home/XXX/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
# if [ $? -eq 0 ]; then
#     eval "$__conda_setup"
# else
#     if [ -f "/home/XXX/anaconda3/etc/profile.d/conda.sh" ]; then
#         . "/home/XXX/anaconda3/etc/profile.d/conda.sh"
#     else
#         export PATH="/home/XXX/anaconda3/bin:$PATH"
#     fi
# fi
# unset __conda_setup
## <<< conda initialize <<<

Anaconda的路径无需注释,否则conda命令无法运行。其路径信息如下

export PATH=/home/XXX/anaconda3/bin:$PATH

二、解决Anaconda无法运行问题

将上述的注释的代码剪切出来,在主目录下新建一个文件,例如:.condainit。用文本编辑器将上面的内容粘贴在下面:

# >>> conda initialize >>>
# !! Contents within this block are managed by 'conda init' !!
__conda_setup="$('/home/XXX/anaconda3/bin/conda' 'shell.bash' 'hook' 2> /dev/null)"
if [ $? -eq 0 ]; then
    eval "$__conda_setup"
else
    if [ -f "/home/XXX/anaconda3/etc/profile.d/conda.sh" ]; then
        . "/home/XXX/anaconda3/etc/profile.d/conda.sh"
    else
        export PATH="/home/XXX/anaconda3/bin:$PATH"
    fi
fi
unset __conda_setup
# <<< conda initialize <<<

如果需要运行Anaconda,运行指令:

source .condainit

初始化后,终端会出现(base)字样,此时,可以激活Anaconda下创建的环境。例如

XXX@dls-tm:~/dev_ws$ python
Python 3.9.13 (main, Aug 25 2022, 23:26:10) 
[GCC 11.2.0] :: Anaconda, Inc. on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> 
KeyboardInterrupt
>>> 
XXX@dls-tm:~$ source .condainit
(base) XXX@dls-tm:~$ 
(base) XXX@dls-tm:~$ conda activate pytorch
(pytorch) XXX@dls-tm:~$

此时可以在该环境下进行Python相关操作,同时,新打开的终端也可以进行ros2的开发编译。

评论 4
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值