详细介绍: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里的包