为什么在ROS中创建工作区时会出现这个错误?

2024-09-27 19:24:59 发布

您现在位置:Python中文网/ 问答频道 /正文

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

~/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

好像柳絮包装有问题,但我找不到解决办法


Tags: buildcmakesharepackagehomeexecutewspkg
3条回答

你在用水蟒的环境吗? 这个问题在Anaconda的Python安装中很常见。

尝试:python --version

如果在输出中看到Anaconda,请使用vi ~/.bashrc转到bashrc文件,然后注释Anaconda添加到path的行。 可能是这样的

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

使用source ~/.bashrc获得bashrc源代码后,打开一个新终端并导航到catkin工作区。删除旧的生成文件夹,然后重试catkin_make命令。

应该能解决你的问题。

我刚在Ubuntu16.04上安装了ROS,有同样的问题,并修复了它。catkin_pkg的位置可能不在您的PYTHONPATH上,需要添加。

从错误输出:

Make sure that you have installed "catkin_pkg", it is up to date and on the 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 dir附加到PYTHONPATH(用于此会话):

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

为了永久性,我将catkin_pkg dir附加到my.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

再检查一下你的Python:

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

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

现在再试试跑步。如果出现相同错误,请将catkin_pkg位置和PYTHONPATH的输出粘贴到此处。

干杯, 某人

错误输出:

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.

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

$ pip install catkin_pkg

相关问题 更多 >

    热门问题