Модули и подмодули Python в рабочей области ROS catkin - PullRequest
0 голосов
/ 25 июня 2018

Я пытаюсь запустить код Python в ROS, и он включает в себя модуль (модуль, не предназначенный для ROS), который мне пришлось установить pip.Когда я пытаюсь запустить код в моем рабочем пространстве catkin с запущенным roscore, он не может найти модуль, который я установил, и выдает мне ошибку ImportError.Любая идея о том, как запустить уже созданные модули на ROS с Роспи?

1 Ответ

0 голосов
/ 27 июня 2018

Убедившись, что вы можете найти модуль

Здесь есть 3 варианта.Все они должны работать и в порядке хакерства.

  1. Вы можете добавить модуль в package.xml, как в этом ros numpy tutorial .

    <build_depend>python-numpy</build_depend>    
    <run_depend>python-numpy</run_depend>
    
  2. Установите переменную окружения $ PTYHONPATH в вашем .bashrc:

    export PYTHONPATH=$PYTHONPATH:/path/to/your/package_or_module
    
  3. Введите путь к модулю, прежде чем импортировать его в код Python:

    import sys
    sys.path.insert(0, "/path/to/your/package_or_module")
    

Убедитесь, что программа работает правильно

  1. Перед запуском программы выделите ресурсы в рабочей области .bashrc и catkin.

  2. Если вы пытаетесь использовать rosrun package_name filename.py, вам необходимо убедиться, что файл является исполняемым:

    chmod +x pythonfile.py
    

    и верхняя часть файла python должна иметькод:

    #!/usr/bin/env python
    
  3. Попробуйте использовать python напрямую для запуска файла, как упоминалось akshayk07

    python filename.py
    
...