Модули и подмодули Python в рабочей области ROS catkin
Я пытаюсь запустить код Python в ROS, и он включает в себя модуль (модуль не для ROS), который мне пришлось установить pip. Когда я пытаюсь запустить код в моем рабочем пространстве catkin с запущенным roscore, он не может найти модуль, который я установил, и выдает мне ошибку ImportError. Любая идея о том, как запустить уже созданные модули на ROS с Роспи?
1 ответ
Убедившись, что вы можете найти модуль
Вот 3 варианта. Все они должны работать и в порядке хакерства.
Вы можете добавить модуль в package.xml, как в этом учебнике по ros numpy.
<build_depend>python-numpy</build_depend> <run_depend>python-numpy</run_depend>
Установите переменную окружения $PTYHONPATH в вашем.bashrc:
export PYTHONPATH=$PYTHONPATH:/path/to/your/package_or_module
Введите путь к модулю, прежде чем импортировать его в код Python:
import sys sys.path.insert(0, "/path/to/your/package_or_module")
Убедитесь, что вы правильно запускаете программу
Ресурс вашего рабочего пространства.bashrc и catkin перед запуском программы.
Если вы пытаетесь использовать
rosrun package_name filename.py
тогда вам нужно убедиться, что файл является исполняемым:chmod +x pythonfile.py
и верхняя часть файла python должна иметь код:
#!/usr/bin/env python
Попробуйте использовать python напрямую для запуска файла, как упоминалось akshayk07
python filename.py