Симулятор беседки не работает, потому что установленный модуль netifaces не найден
Я пытаюсь запустить эту симуляцию беседки: https://github.com/disaster-robotics-proalertas/usv_sim_lsa
Я следил за этим и установил ROS кинетику на свою Ubuntu 16.04. Но я получаю сообщение об ошибке, что модуль 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-168 для использования диска. Это может занять некоторое время. Нажмите Ctrl-C, чтобы прервать Закончено, проверяя использование диска файла журнала. Использование <1 ГБ.
Трассировка (последний вызов был последним): файл "/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, в стартовом файле 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, если [m для m в machine_unify_dict.values (), если не is_machine_local(m)]: файл" / opt / ros / kinetic / lib / python2.7 / dist-packages / roslaunch / config.py ", строка 222, если if [m для m в machine_unify_dict.values (), если не 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'
1 ответ
Я считаю, что это может быть связано с путями Python. когда вы выполняете такие бинарные установки, в общем случае эти пакеты устанавливаются в файл dist-package соответствующего python либо python 2.7 или python 3. И ros-kinetic использует python 2.7 для своих основных команд, таких как roslib и rospy. Поэтому, пожалуйста, попробуйте проверить, находятся ли установленные netiface в том же pythonpath, если нет, попытайтесь экспортировать путь python перед запуском файла.
Также, пожалуйста, попробуйте проверить путь к Python из терминала, с которого вы запускаете файл, чтобы вы знали, какие пути Python импортированы, если путь Python3 не импортирован, попробуйте также экспортировать этот путь.