[PYTHON] Lorsque le nœud disparaît dans rqt_graph

Objectif

Que faire si le nœud disparaît dans rqt_graph de ROS.

Symptômes

Lors du lancement de rqt_graph depuis la console, une erreur se produit si dot_parser n'est pas défini. Il semble que la cause soit que la dépendance a été rompue par la mise à jour de python.

$ rqt_graph 
Couldn't import dot_parser, loading of dot files will not be possible.
PluginHandlerDirect._restore_settings() plugin "rqt_graph/RosGraph#0" raised an exception:
Traceback (most recent call last):
  File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_gui/plugin_handler_direct.py", line 116, in _restore_settings
    self._plugin.restore_settings(plugin_settings_plugin, instance_settings_plugin)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 206, in restore_settings
    self._refresh_rosgraph()
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 231, in _refresh_rosgraph
    self._update_graph_view(self._generate_dotcode())
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 266, in _update_graph_view
    self._redraw_graph_view()
  File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 299, in _redraw_graph_view
    same_label_siblings=True)
  File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_dotgraph/dot_to_qt.py", line 234, in dotcode_to_qt_items
    graph = pydot.graph_from_dot_data(dotcode.encode("ascii", "ignore"))
  File "/usr/lib/python2.7/dist-packages/pydot.py", line 220, in graph_from_dot_data
    return dot_parser.parse_dot_data(data)
NameError: global name 'dot_parser' is not defined

Faire face

Réinstaller pydot et pyparsing

sudo chmod 777 -R /usr/lib/python2.7/dist-packages/
pip uninstall pydot
pip uninstall pyparsing
pip install pydot
pip install pyparsing

référence

Les paquets liés à Rqt ont disparu dans ROS indigo, et diverses choses ont cessé de fonctionner: Kawauso Matsuri http://kawauso-festival.blogspot.jp/2016/07/ros-indigorqt.html ・ ・ ・ Il peut être impossible de réparer sans changer la version de pyparsing.

NameError: le nom global'dot_parser 'n'est pas défini et que faire quand il apparaît en python: qiita http://qiita.com/v_and_p/items/e6f0243d7d3cba5b7a2f

Recommended Posts

Lorsque le nœud disparaît dans rqt_graph
Comportement lors du retour dans le bloc with
Lorsque la cible est Ubuntu 16.04 dans Ansible
Quand le graphique précédent reste dans Seaborn
Heure à laquelle le terminal disparaît dans Visual Studio Code
Précautions lors de l'installation de packages dans l'environnement conda
Lorsque l'axe et l'étiquette se chevauchent dans matplotlib
Incorporation dans datetime lorsque seule l'heure est connue
Lorsque le nom de la variable entre en conflit avec la commande Devaga dans pdb
Maîtrisez le type avec Python? (Quand faire la vérification de type)
Vérifiez à l'avance ce qui se passe lorsque la commande est exécutée
Résolvez le problème japonais lors de l'utilisation du module CSV en Python.
La méthode minimale à retenir lors de l'agrégation de données avec Pandas
Trouver des erreurs en Python
Attention lorsque os.mkdir en Python
Méthodes disponibles dans la liste
Soyez prudent lorsque vous spécifiez la valeur d'argument par défaut dans la série Python 3
Acquérir automatiquement le journal des opérations dans le terminal lors de la connexion à Linux
[Linux] Je souhaite connaître la date à laquelle l'utilisateur s'est connecté
J'ai eu un AttributeError en me moquant de la méthode ouverte en python
Ligne de mode lorsque vous ouvrez le code Python approprié dans Vim
Solution lorsque json.Marshal de go renvoie un objet vide
Animer ce qui se passe dans l'espace de fréquences lorsque la fréquence de Nyquist est dépassée
Que faire lorsque le type de valeur est ambigu en Python?