4

我从目前处于 alpha 阶段的ROS2开始。在构建包时ros1_bridge出现此错误:

Traceback (most recent call last):
  File "bin/ros1_bridge_generate_factories", line 11, in <module>
    from ros1_bridge import generate_cpp
  File "/home/ros/ros2_ws/src/ros2/ros1_bridge/ros1_bridge/__init__.py", line 13, in <module>
    import genmsg
ImportError: No module named 'genmsg'

这很奇怪。在同一台计算机上,我构建相同的代码没有任何问题。唯一改变的是:我安装了ROS Kinetic

我在突触中发现我现在genmsg安装了两个不同的包:python-genmsgros-kinetic-genmsg. 第一个是ROS2的依赖项,第二个是ROS的依赖项。所以可能两者都是必要的。我认为那是Python的东西,我不熟悉Python。我该怎么做才能让它再次运行?

4

1 回答 1

7

在同一台机器上为ROSROS2安装依赖项时会发生这种情况。尤其是包python-genmsgros-kinetic-genmsggenmsg现在可以在这些地方找到:

  1. /opt/ros/kinetic/lib/python2.7/dist-packages
  2. /usr/lib/python2.7/dist-packages

这会给 Python 带来麻烦。在ros1_bridge适合ROS Kinetic的方面,环境 Python 变量PYTHONPATH将设置为Kinetic变量:

export PYTHONPATH=/opt/ros/kinetic/lib/python2.7/dist-packages/

现在重新启动构建,构建现在运行......

于 2016-09-01T23:33:31.450 回答