Мелодичная установка ROS только с Python 3 и без проблем с системными библиотеками? - PullRequest
0 голосов
/ 08 января 2019

Описание процедуры и вопросы:

Я следую инструкции по установке:
http://wiki.ros.org/melodic/Installation/Ubuntu

но:

  1. $ sudo apt-get install ros-melodic-desktop-full не работает:

    Reading package lists... Done
    Building dependency tree       
    Reading state information... Done
    Some packages could not be installed. This may mean that you have
    requested an impossible situation or if you are using the unstable
    distribution that some required packages have not yet been created
    or been moved out of Incoming.
    The following information may help to resolve the situation:
    
    The following packages have unmet dependencies:
     ros-melodic-desktop-full : Depends: ros-melodic-perception but it is not going to be installed    
    E: Unable to correct problems, you have held broken packages.    
    

    -> вопрос 1.

  2. $ sudo apt-get install ros-melodic-desktop-full вроде бы работает, но для этого нужно установить целую кучу пакетов (602 МБ) - чего я и ожидал немного. При подробном рассмотрении этих пакетов я вижу:

    • Более 190 пакетов что-то: ОК

    • Несколько новых библиотек: OK

    • Более 40 python-<packages> (что определенно является пакетом Python 2): -> вопрос 2.1

    • Более 80 libboost-<something-system-libraries>: -> вопрос 2.2

Похожие вопросы:

Вопрос 1:

Знаете почему?

Вопрос 2.1:

Как принудительно использовать версию этих пакетов для Python 3?

Вопрос 2.2:

Для других целей я строю boost из источников ( Building Boost из источников в Linux ).
Поэтому я боюсь, что если я установлю ros со всеми этими зависимостями, системные библиотеки boost , которые поставляются вместе с ros (все версии Boost 1.65 ), могут испортить мой персонализированный установка буст-библиотек (версии 1.68 ), особенно когда я хочу скомпилировать другое программное обеспечение (я предпочитаю иметь только одну версию этой библиотеки; т.е. последнюю версию 1.68).
Есть ли способ указать ros использовать эти уже установленные библиотеки (в основном в /usr/local/)?

Общая информация:

Я использую Ubuntu 18.04: 4.15.0-43-generic x86_64 GNU/Linux Версия Python 3: 3.6.7

1 Ответ

0 голосов
/ 02 февраля 2019

Для того, чтобы ROS Systems работала, ей нужны зависимости как минимум в конкретной версии.

Вы не можете использовать Python 3 при установке, так как все инструменты сделаны с Python 2.7+. Но вы можете указать, какую версию Python использовать при запуске или компиляции пакетов, изменив ROS_PYTHON_VERSION на 3.

Я думаю, вы можете использовать Этот ответ , чтобы преобразовать ваш скомпилированный исходный код в .deb файл и установить его так, чтобы apt не мешал вашим библиотекам повышения

...