web-dev-qa-db-fra.com

Installation mélodique ROS avec Python 3 uniquement et sans gâcher les bibliothèques système?

Description de la procédure et des problèmes:

Je suis le guide d'installation là-bas:
http://wiki.ros.org/melodic/Installation/Ubunt

mais:

  1. $ Sudo apt-get install ros-melodic-desktop-full ne fonctionne pas:

    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.    
    

    -> question 1.

  2. $ Sudo apt-get install ros-melodic-desktop-full semble fonctionner mais il doit installer tout un tas de paquets (602 Mo) - ce à quoi je m'attendais un peu. En regardant ces packages en détail, je peux voir:

    • Plus de 190 packages ros quelque chose: OK

    • Quelques nouvelles bibliothèques: OK

    • Plus de 40 python-<packages> (qui sont définitivement Python 2 packages): -> question 2.1

    • Plus de 80 libboost-<something-system-libraries>: -> question 2.2

Questions connexes:

Question 1:

Est-ce que tu sais pourquoi?

Question 2.1:

Comment forcer l'utilisation de la version Python 3 de ces packages?

Question 2.2:

À d'autres fins, je crée un boost à partir de sources ( Building Boost à partir de sources sous Linux ).
Par conséquent, je crains que si j'installe ros avec toutes ces dépendances, les bibliothèques système boost fournies avec ros (qui sont toutes des versions boost 1,65 ) va gâcher mon installation personnalisée de bibliothèques boost (qui sont en version 1,68 ) , surtout quand je voudrais compiler d'autres logiciels (je préfère n'avoir qu'une seule version de ces lib; c'est-à-dire la dernière 1.68).
Existe-t-il un moyen de dire à ros d'utiliser ces bibliothèques déjà installées (essentiellement dans /usr/local/)?

Informations générales:

J'utilise Ubuntu 18.04: 4.15.0-43-generic x86_64 GNU/Linux Python 3 est: 3.6.7

5
s.k

Pour que ROS Systems fonctionne, il a besoin de dépendances à une version spécifique minimale.

Vous ne pouvez pas utiliser python 3 dans l'installation car tous les outils sont créés avec python 2.7+ mais vous pouvez spécifier ce qui python version à utiliser lors de l'exécution ou de la compilation de packages En changeant ROS_PYTHON_VERSION à 3.

Je pense que vous pouvez utiliser Cette réponse pour convertir votre source compilée en .deb fichier et installez-le pour éviter qu'apt n'interfère avec vos bibliothèques boost

1
Mohammad Ali