0

我正在尝试运行这个 Gazebo 模拟:https ://github.com/disaster-robotics-proalertas/usv_sim_lsa

我一直跟着并在我的 Ubuntu 16.04 上安装了 ROS 动力学。但是我一直收到找不到 netifaces 模块的错误,即使我已经反复安装它并且import netifaces当我在终端中启动 python 时可以。

我试过安装 python-netifaces 并使用

rosdep install --from-paths src --ignore-src --rosdistro groovy -y

它显示所有必需的 rosdeps 都已安装。

只是试图运行这一行: roslaunch usv_sim airboat_scenario1.launch parse:=true

这是我不断收到的错误:

rameezs:~/catkin_ws$ roslaunch usv_sim airboat_scenario1.launch parse:=true ... 登录到 /home/rameezs/.ros/log/5cbbdbb0-c28f-11e9-bea5-88b111c4685a/roslaunch-thinkram-16846.log 检查日志目录用于磁盘使用。可能还要等一下。按 Ctrl-C 中断完成检查日志文件磁盘使用情况。使用量 <1GB。

Traceback(最近一次调用最后):文件“ /opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/init.py”,第 306 行,在主 p.start() 文件“/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py”,第 268 行,在 start self._start_infrastructure()文件“/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/parent.py”,第 217 行,在 _start_infrastructure self._load_config() 文件“/opt/ros/kinetic/lib/python2.7 /dist-packages/roslaunch/parent.py”,第 132 行,在 _load_config roslaunch_strs=self.roslaunch_strs,verbose=self.verbose) 文件“/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/ config.py”,第 471 行,在 load_config_default config.assign_machines() 文件“/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py”,第 222 行,在 assign_machines if [m for m in machine_unify_dict.values() 如果不是 is_machine_local(m)]:文件“/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/config.py”,第 222 行,在 if [m for m in machine_unify_dict.values() if not is_machine_local(m)] 中:文件“/opt/ros/kinetic/lib/python2.7/dist-packages/roslaunch/core.py”,第 97 行,在 is_machine_local local_addresses = ['localhost'] + rosgraph.network.get_local_addresses() 文件“/opt/ ros/kinetic/lib/python2.7/dist-packages/rosgraph/network.py”,第 217 行,在 get_local_addresses 中导入 netifaces ModuleNotFoundError:没有名为“netifaces”的模块在 is_machine_local local_addresses = ['localhost'] + rosgraph.network.get_local_addresses() 文件“/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/network.py”,第 217 行,在 get_local_addresses 中导入 netifaces ModuleNotFoundError:没有名为“netifaces”的模块在 is_machine_local local_addresses = ['localhost'] + rosgraph.network.get_local_addresses() 文件“/opt/ros/kinetic/lib/python2.7/dist-packages/rosgraph/network.py”,第 217 行,在 get_local_addresses 中导入 netifaces ModuleNotFoundError:没有名为“netifaces”的模块

4

1 回答 1

0

我相信这可能是与 python 路径相关的问题。当您进行此类二进制安装时,通常这些软件包会安装在相应 python 的 dist-package 文件中,无论是 python 2.7 还是 python 3。而 ros-kinetic 使用 python 2.7 作为其基本命令,例如 roslib 和 rospy。所以请尝试检查安装的netifaces是否在同一个pythonpath中,如果没有尝试在启动文件之前导出python路径。

也请尝试从您正在启动文件的终端检查 python 路径,这样您就会知道导入了哪些 python 路径,如果没有导入 python3 路径,请尝试导出该路径。

于 2019-08-22T07:56:32.007 回答