【问题标题】:Why this error when I try to create workspaces in ROS?为什么当我尝试在 ROS 中创建工作区时出现此错误?
【发布时间】:2023-03-06 03:01:01
【问题描述】:

每当我尝试创建工作区时:

~/catkin_ws$ catkin_make

显示如下:

ImportError: "from catkin_pkg.package import parse_package" failed: No module named 'catkin_pkg'
Make sure that you have installed "catkin_pkg", it is up to date and on the PYTHONPATH.
CMake Error at /opt/ros/kinetic/share/catkin/cmake/safe_execute_process.cmake:11 (message):
  execute_process(/home/usuario/miniconda3/bin/python
  "/opt/ros/kinetic/share/catkin/cmake/parse_package_xml.py"
  "/opt/ros/kinetic/share/catkin/cmake/../package.xml"
  "/home/usuario/catkin_ws/build/catkin/catkin_generated/version/package.cmake")
  returned error code 1
Call Stack (most recent call first):
  /opt/ros/kinetic/share/catkin/cmake/catkin_package_xml.cmake:63 (safe_execute_process)
  /opt/ros/kinetic/share/catkin/cmake/all.cmake:151 (_catkin_package_xml)
  /opt/ros/kinetic/share/catkin/cmake/catkinConfig.cmake:20 (include)
  CMakeLists.txt:52 (find_package)


-- Configuring incomplete, errors occurred!
See also "/home/usuario/catkin_ws/build/CMakeFiles/CMakeOutput.log".
See also "/home/usuario/catkin_ws/build/CMakeFiles/CMakeError.log".
Invoking "cmake" failed

catkin_pkg 好像有问题但是没找到解决办法

【问题讨论】:

    标签: python linux ubuntu ros


    【解决方案1】:

    我刚刚在 Ubuntu 16.04 上安装了 ROS,遇到了同样的问题,并修复了它。 catkin_pkg 的位置可能不在您的 PYTHONPATH 上,需要添加。

    从错误输出:

    确保您已安装“catkin_pkg”,它是最新的并且在 PYTHONPATH 上。

    尝试定位 catkin_pkg 并检查您的 PYTHONPATH。 catkin_pkg 不在我的 PYTHONPATH 上(可能是由于安装了其他程序),所以我添加了它并再次运行 catkin_make,这次成功了。

    ~/catkin_ws$ locate catkin_pkg
    /usr/lib/python2.7/dist-packages/catkin_pkg
    
    ~/catkin_ws$ echo $PYTHONPATH
    /opt/ros/kinetic/lib/python2.7/dist-packages
    

    将 catkin_pkg 目录附加到 PYTHONPATH(对于本次会话):

    ~/catkin_ws$ export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
    

    为了永久性,我将 catkin_pkg 目录附加到我的 .bashrc 中的 PYTHONPATH(您可能需要先备份 .bashrc 文件,例如 cp -p ~/.bashrc ~/.bashrc-ros-catkin.bak)。

    为此,请编辑您的 ~/.bashrc 文件(您可能需要使用 sudo 来编辑此文件)并将以下两行添加到文件末尾:

    # manually added for ROS catkin_make workspace setup
    export PYTHONPATH=$PYTHONPATH:/usr/lib/python2.7/dist-packages
    

    保存文件并运行源代码以更新您的会话:

    ~/catkin_ws$ source ~/.bashrc
    

    再次检查您的 PYTHONPATH:

    ~/catkin_ws$ echo $PYTHONPATH
    /opt/ros/kinetic/lib/python2.7/dist-packages:/usr/lib/python2.7/dist-packages
    

    很明显,您的 catkin_pkg 文件的位置可能与我的不同,因此在附加到上面的 $PYTHONPATH 时使用该路径。

    现在尝试再次运行 catkin_make。如果遇到同样的错误,请将 catkin_pkg 位置和 PYTHONPATH 的输出粘贴到此处。

    干杯, 某人

    【讨论】:

      【解决方案2】:

      您使用的是 Anaconda 环境吗? 这个问题在 Anaconda 的 Python 安装中很常见。

      试试:python --version

      如果您在输出中看到 Anaconda,请使用 vi ~/.bashrc 转到您的 bashrc 文件,然后将 anaconda 添加到路径的行注释掉。 应该是这样的,

      export PATH="username/anaconda2/bin:$PATH"

      使用source ~/.bashrc 获取您的 bashrc 之后,打开一个新终端并导航到您的 catkin 工作区。删除旧的构建文件夹并再次尝试catkin_make 命令。

      应该可以解决您的问题。

      【讨论】:

      • ros 什么时候能和 conda 玩得很好,这@#$ 太可笑了!
      • @neuronet 我分享你的痛苦 :)
      【解决方案3】:

      试试这个:pip install -U rosdep rosinstall_generator wstool rosinstall 六个 vcstools

      如果 pip 显示任何错误,请切换到 root 并安装 pip 然后尝试

      【讨论】:

        【解决方案4】:

        错误输出:

        ImportError: "from catkin_pkg.package import parse_package" 失败: 没有名为 'catkin_pkg' 的模块 确保您已安装“catkin_pkg”,它是最新的并且在 PYTHONPATH 上。

        如上所述,您需要在 PYTHONPATH 中有“catkin_pkg”。如果你问我,最简单的方法是:

        $ pip install catkin_pkg

        【讨论】:

          【解决方案5】:

          实际上,当您想同时使用 Anaconda 和 ROS 时,通常会出现此错误。所以首先进入.bashrc文件并注释anaconda的路径。

          导出PATH="/home/gaurav/anaconda3/bin:$PATH"

          评论后进入catkin_ws文件夹并删除文件夹中的现有文件夹并创建新的src文件夹。 然后按照三个步骤:

          1 - $ mkdir src

          2 - $ catkin_init_workspace src

          3 - $ catkin_make

          它对我有用。

          【讨论】:

            【解决方案6】:

            这意味着您尚未将 ROS 采购到您的环境中。

            将此行添加到 .bashrc 文件的最后一行

            source /opt/ros/kinetic/setup.bash
            

            保存 .bashrc 文件,关闭当前终端并在新终端中启动您的进程。

            【讨论】:

              【解决方案7】:

              对我来说,它修复了

              sudo apt-get remove python3-catkin-tools
              sudo apt-get install python-catkin-tools
              

              【讨论】:

                猜你喜欢
                • 1970-01-01
                • 1970-01-01
                • 1970-01-01
                • 2020-10-18
                • 2023-01-17
                • 1970-01-01
                • 2021-06-27
                • 1970-01-01
                • 2021-10-05
                相关资源
                最近更新 更多