【已解决】conda环境下ROS2 colcon build编译选择特定python解释器_anaconda 使用colcon(1)

2 问题探索

检查发现,本地存在两个不同版本的python解释器,分别对应出现问题的版本号3.103.11,这表明conda虚拟环境的引入将导致colcon build进行构建和安装时CMake使用的python解释器版本与python setup.py使用的版本不同。

在这里插入图片描述

因此解决问题的核心是使用同一个环境的python解释器。

首先卸载全局的colcon编译选项,避免编译过程中错选

sudo apt remove python3-colcon-*

接着创建虚拟环境,原理可看Anaconda安装与Python虚拟环境配置保姆级图文教程(附速查字典)

conda create -n ros2 python=3.10

并切换到虚拟环境

conda activate ros2

创建后如下所示

在这里插入图片描述

在该虚拟环境中安装colcon编译依赖项

pip install -U colcon-common-extensions

以及其他依赖项

pip install catkin_pkg numpy lark setuptools==58.2.0

此时可能还会出现问题
ImportError: /home/winter/anaconda3/envs/ros2/bin/../lib/libstdc++.so.6: version GLIBCXX_3.4.30' not found (required by /opt/ros/humble/local/lib/python3.10/dist-packages/rclpy/_rclpy_pybind11.cpython-310-x86_64-linux-gnu.so)

解决方法是安装gcc

conda install -c conda-forge gcc=12.1.0

至此已经可以成功编译

在这里插入图片描述

3 问题解决

总结一下修复的流程:

  • 创建虚拟环境
conda create -n ros2 python=3.10

  • 切换到虚拟环境
conda activate ros2

  • 安装colcon构建系统
pip install -U colcon-common-extensions

  • 安装其他依赖项
pip install catkin_pkg numpy lark setuptools==58.2.0
conda install -c conda-forge gcc=12.1.0



### 最后

> **🍅 硬核资料**:关注即可领取PPT模板、简历模板、行业经典书籍PDF。  
> **🍅 技术互助**:技术群大佬指点迷津,你的问题可能不是问题,求资源在群里喊一声。  
> **🍅 面试题库**:由技术群里的小伙伴们共同投稿,热乎的大厂面试真题,持续更新中。  
> **🍅 知识体系**:含编程语言、算法、大数据生态圈组件(Mysql、Hive、Spark、Flink)、数据仓库、Python、前端等等。




**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**

**[需要这份系统化学习资料的朋友,可以戳这里无偿获取](https://bbs.csdn.net/topics/618317507)**

**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**
  • 2
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值