导入rclpy时,缺少所需版本的libstdc++库。通常情况下,这是由于系统上的libstdc++版本与ROS所需的版本不匹配导致的。

  1. 从conda安装libstdc++
    libstdc++库:

    conda install libstdcxx-ng
    
  2. 验证版本
    确认安装后的版本满足要求,运行以下命令检查版本:

    strings /usr/lib/x86_64-linux-gnu/libstdc++.so.6 | grep GLIBCXX
    

    应该能够看到GLIBCXX_3.4.30

  3. 创建符号链接
    如果升级库没有解决问题,可以尝试创建符号链接以指向正确的库文件。例如:

    ln -sf /usr/lib/x86_64-linux-gnu/libstdc++.so.6 /home/hee/miniconda3/envs/py/lib/libstdc++.so.6
    
  4. 使用conda创建隔离环境
    确保ROS和其他包在隔离的conda环境中,避免库版本冲突:

    conda create -n ros_env python=3.10.3
    conda activate ros_env
    conda install  libstdcxx-ng
    pip install rclpy
    python3
    

在里面可以正常导入

Logo

腾讯云面向开发者汇聚海量精品云计算使用和开发经验,营造开放的云计算技术生态圈。

更多推荐