详细介绍:ros2和conda环境的搭配使用(一)

       前言

       相信很多初次接触Ubuntu系统的用户都会遇到环境冲突的问题。以终端启动为例,安装conda后会默认进入base环境,这可能导致后续安装ros2依赖库时频繁报错,无法顺利完成安装。

         此外,ros2默认使用系统全局Python环境。当我们需要安装某些特殊依赖包时,由于权限限制无法安装到全局目录,这会导致部分功能无法正常使用。

1.下载anaconda,这里直接跳过了

2.退出base环境

由于下载了conda以后,系统就会默认进入base环境,这其实就是默认进入了conda,类似于下图

那么我们需要先退出这个环境。执行下列指令(这个指令只在当前终端有效,如果打开新的终端还是会默认进入base环境)

conda deactivate

下列指令为永久生效的指令,这样的话下次就不会进入base环境

conda config --set auto_activate_base false

 我们可以通过python的位置,来检查指令是否生效

gedit ~/.bashrc &

3、修改.bashrc文件

可以选择在文档编辑器打开bashrc文件,这样方便查找和修改

#export PATH="$HOME/anaconda3/bin:$PATH"
# >>> Conda 初始化(不自动激活 base)
if [ -f "$HOME/anaconda3/etc/profile.d/conda.sh" ]; then
source "$HOME/anaconda3/etc/profile.d/conda.sh"
fi
# >>> Conda 手动激活(使用别名)
alias use_conda="conda activate && echo '[Conda] 当前 Python 路径:' \$(which python)"
# >>> ROS Noetic 环境初始化(使用系统 Python)
alias use_ros="source /opt/ros/noetic/setup.bash && echo '[ROS] 已激活:使用系统 Python:' \$(which python3)"
# === 取消自动激活 Conda base(确保配置生效)
conda config --set auto_activate_base false

如果文件中出现第一行的指令尽量将其注释掉,这可能会导致与ros2环境冲突。最后一行是前面我们讲过的取消自动进入base环境。

        修改好了以后,点击保存,然后进入终端执行

source ~/.bashrc

下一章讲解ros2如何访问conda里的包

posted on 2025-08-09 14:23  ljbguanli  阅读(6)  评论(0)    收藏  举报