Установить вещи на Pepper

Как бы я установить вещи на Pepper, так как я не знаю, какой менеджер пакетов он использует. Я обычно использую apt на своей машине с Ubuntu и хочу установить некоторые пакеты на Pepper. Я не уверен, какой менеджер пакетов имеет Pepper (если есть) и хочет установить некоторые пакеты, но также знаю только имя пакета, используя apt (не уверен, что имя пакета совпадает с другими менеджерами пакетов). И если возможно, смогу ли я установить apt на Pepper. Благодарю.

Примечание. Из проведенного мною исследования Pepper использует NaoQi, основанный на Gentoo, который использует portage.

6 ответов

У вас нет root-доступа на Pepper, что ограничивает возможности установки (и, во всяком случае, apt отсутствует на роботе).

Некоторые возможности:

  • Включите ваш контент в проекты Choregraphe - при установке пакета устанавливается вся структура каталогов (точнее, то, что указано в.pml); так что вы можете помещать произвольные файлы в своего робота и обычно включать любые зависимости, которые нужны вашему коду.
  • Установите пакеты Python с помощью pip.

В NAOqi 2.5 установлена ​​немного более старая версия pip, которая не всегда будет работать из коробки; Я рекомендую обновить его:

pip install --user --upgrade pip

... затем вы можете использовать обновленный pip для установки других пакетов, используя обновленный pip, и всегда --user:

/home/nao/.local/bin/pip install --user whatever-package-you-need

Однако обратите внимание, что если вы сделаете это и будете использовать ваши пакеты в своем коде, работающем на Pepper, этот код не будет работать на других роботах, пока вы не сделаете для них pip, поэтому я обычно делаю это только для тестов; для производственного кода я предпочитаю упаковывать все зависимости в пакет моего приложения.

В качестве обходного пути, если вам нужно установить программное обеспечение (или просто более новые версии программного обеспечения), можно использовать префикс Gentoo.

Gentoo Prefix собирает ОС Gentoo в любом месте (не требуется root, может быть любая папка). Он включает собственный portage (менеджер пакетов) для установки нового программного обеспечения.

Я поддерживаю несколько проектов для работы с Pepper и использую "любое" программное обеспечение, которое захочу. Обратите внимание, что они созданы для 64b (amd64) и 32b (x86), хотя для Pepper имеет значение только 32b.

  • gentoo_prefix_ci и gentoo_prefix_ci_32b Которая еженощно создает начальную загрузку системы Gentoo Prefix. Это процесс, который требует времени для компиляции (3-6 часов в зависимости от вашей машины) и время от времени прерывается (по мере обновления исходных пакетов и обнаружения ошибок, Gentoo представляет собой скользящий выпуск). Каждую ночь обновляемые двоичные образы, готовые к использованию, можно найти в разделе "Релизы".
  • Для пользователей ROS, которые хотят запустить его на роботе, на основе предыдущей работы я поддерживаю также https://github.com/awesomebytes/ros_overlay_on_gentoo_prefix и https://github.com/awesomebytes/ros_overlay_on_gentoo_prefix. Они предоставляют ночные сборки с бинарными выпусками ROS Kinetic и ROS Melodic поверх Gentoo Prefix с использованием ros-overlay. Вы можете найти готовые к использованию релизы ros_base и desktop.
  • Для целей, связанных с лигой платформ социальных стандартов RoboCup@Home, где используется робот Pepper, я также поддерживаю специальную сборку, которая содержит множество дополнительного программного обеспечения. Этот проект называется pepper_os, и он создает 270+ пакетов ROS, множество пакетов Python (250+, включая Theano, dlib, Tensorflow, numpy...) и все необходимые зависимости для их сборки (750+ пакетов). Обратите внимание, что базовый образ (он построен с помощью Docker) является фактическим образом Pepper 2.5.5.5, поэтому его можно использовать для отладки, как если бы он был в реальном роботе (хотя без датчиков и т.п.).

Может быть, этот подход или эти проекты будут полезны.

Избавиться от

InsecurePlatformWarning: настоящий объект SSLContext недоступен.

устанавливать

/home/nao/.local/bin/pip install --user requests[security]

Избавиться от:

CryptographyDeprecationWarning: Поддержка вашей версии Python устарела.

устанавливать

/home/nao/.local/bin/pip install --user cryptography==2.2.2

Чтобы избавиться от ошибки:

Msgst r " SSL3_GET_SERVER_CERTIFICATE: сбой проверки сертификата".

Если вы используете Python и requests пакет, просто добавьте verify=False в конце ваших параметров.

r=requests.get(URL,params,header,verify=False)

Работает с моим перцем

Диспетчер пакетов на перце отключен. Но вы можете скопировать файлы в робот и написать свой собственный сервис, который импортирует любой пакет, который вам может понадобиться.

В качестве дополнения к импорту: http://www.about-robots.com/how-to-import-python-files-in-your-pepper-apps.html

Если он основан на Gentoo, возможно, мы могли бы попробовать установить portage с участием pip.

      pip install portage

Просто мысль.

Другие вопросы по тегам