鱼香ROS社区
    • 版块
    • 最新
    • 未解决
    • 已解决
    • 群组
    • 注册
    • 登录
    紧急通知:禁止一切关于政治&VPN翻墙等话题,发现相关帖子会立马删除封号
    提问前必看的发帖注意事项: 社区问答规则(小鱼个人)更新 | 高质量帖子发布指南

    安装Miniconda后进行colcon build报错`No module named 'catkin_pkg'`

    已定时 已固定 已锁定 已移动
    ROS2机器人开发:从入门到实践
    miniconda catkin-pkg ros2
    3
    4
    515
    正在加载更多帖子
    • 从旧到新
    • 从新到旧
    • 最多赞同
    回复
    • 在新帖中回复
    登录后回复
    此主题已被删除。只有拥有主题管理权限的用户可以查看。
    • T
      Tapioca ROS2开发者
      最后由 Tapioca 编辑

      标题:安装Miniconda后进行colcon build报错No module named 'catkin_pkg'

      问题描述:

      本身是能够正常运行代码。但在跟着书本复现代码时发现需要安装一些Python库,就想着直接安装Miniconda,再在conda里面安装库。结果安装Miniconda后再进行colcon build时会报错No module named 'catkin_pkg' 。

      具体细节和上下文:

      以第三章代码为例:
      fad288e6-8060-4104-9b42-e1427bce7db0-image.png

      ~/.bashrc文件添加部分
      d095c9c9-939e-4e42-a23b-e2461b14e8f1-image.png

      $PYTHONPATH
      dbea9948-4110-419b-813b-57fc9923e7c2-image.png

      尝试过的解决方法:

      1. 通过conda deactivate切换回默认环境,未解决,报错内容不变
      2. 重新安装python3-catkin-pkg-modules,未解决
      3. 尝试export PYTHONPATH=/usr/lib/python3/后,报错变为No module named 'ament_package'
        61e5dc70-8a62-498b-8fbd-8e59f194cbdc-image.png
      小鱼小 1 条回复 最后回复 回复 引用 0
      • 小伊小
        机器人小伊
        最后由 编辑

        出现 No module named 'catkin_pkg' 的错误通常意味着你的 Python 环境中没有安装 catkin_pkg 这个库,尽管你可能在全局环境中安装了它,但是当你使用 Miniconda 并激活了某个特定的 conda 环境时,该环境可能不包含这个库。

        这里有几个步骤可以帮助你解决这个问题:

        1. 确认当前使用的 Python 环境

        首先,确认你在执行 colcon build 时使用的是哪个 Python 环境。你可以通过运行以下命令来查看当前激活的 conda 环境:

        conda info --envs
        conda activate <your-env-name>  # 激活你的环境,如果需要的话
        

        如果你没有特别指定环境,那么可能需要确保你的全局环境或默认环境中有所有必要的库。

        2. 在 Conda 环境中安装 catkin_pkg

        如果你确定要在 Conda 环境中运行 colcon build,那么你需要在这个环境中安装 catkin_pkg。由于 catkin_pkg 可能不是 Conda 的标准包,你可能需要从源代码安装或使用 pip(如果可用):

        conda activate <your-env-name>
        pip install catkin_pkg
        

        注意:在某些情况下,Conda 环境可能不允许直接使用 pip(特别是当 Conda 配置为严格模式时)。如果这样,你可能需要配置 Conda 以允许 pip 使用,或者考虑使用 Conda Forge 渠道或直接从源代码安装。

        3. 检查 colcon 和 ROS 的配置

        确保 colcon 和你的 ROS 工作空间正确配置。有时候,colcon 可能没有正确配置以使用正确的 Python 解释器或环境变量。

        4. 考虑使用虚拟环境而非 Conda

        如果你之前在没有 Conda 的情况下能够成功运行 colcon build,那么考虑是否真的需要切换到 Conda 环境。你可以继续使用 Python 的原生虚拟环境(venv)来管理你的依赖。

        5. 清理和重新配置

        如果上述步骤都不奏效,你可能需要清理你的 Conda 环境或重新配置你的 ROS 工作空间。这包括删除并重新创建 Conda 环境,以及重新配置 ROS 的工作空间和依赖。

        6. 检查 .bashrc 或其他 shell 配置文件

        确保你的 .bashrc 或其他 shell 配置文件没有错误地设置 Python 解释器或环境变量,这可能会干扰 colcon 的正常运行。

        希望这些步骤能帮助你解决问题!如果问题仍然存在,请提供更多的上下文和配置细节,以便进一步分析。


        以上为生成回答,仅供参考~

        我是小伊,已接入ChatGpt,所有回复,仅供参考~

        1 条回复 最后回复 回复 引用 0
        • T
          Tapioca ROS2开发者
          最后由 编辑

          此回复已被删除!
          1 条回复 最后回复 回复 引用 0
          • 小鱼小
            小鱼 技术大佬 @Tapioca
            最后由 编辑

            @Tapioca 最好不要使用conda,会导致python环境混乱

            新书配套视频:https://www.bilibili.com/video/BV1GW42197Ck/

            1 条回复 最后回复 回复 引用 0
            • 第一个帖子
              最后一个帖子
            皖ICP备16016415号-7
            Powered by NodeBB | 鱼香ROS