[PYTHON] Wenn der Knoten in rqt_graph verschwindet

Zweck

Was tun, wenn der Knoten in rqt_graph von ROS verschwindet?

Symptome

Beim Starten von rqt_graph über die Konsole tritt ein Fehler auf, wenn dot_parser nicht definiert ist. Es scheint, dass die Ursache darin bestand, dass die Abhängigkeit durch die Aktualisierung von Python unterbrochen wurde.

$ 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

Bewältigung

Pydot und Pyparsing neu installieren

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

Referenz

Rqt-bezogene Pakete verschwanden in ROS-Indigo und verschiedene Dinge funktionierten nicht mehr: Kawauso Matsuri http://kawauso-festival.blogspot.jp/2016/07/ros-indigorqt.html ・ ・ ・ Eine Reparatur ist möglicherweise nicht möglich, ohne die Version von Pyparsing zu ändern.

NameError: globaler Name'dot_parser 'ist nicht definiert und was ist zu tun, wenn es in Python: Qiita auftaucht? http://qiita.com/v_and_p/items/e6f0243d7d3cba5b7a2f

Recommended Posts

Wenn der Knoten in rqt_graph verschwindet
Verhalten bei der Rückkehr in den with-Block
Wenn das Ziel Ubuntu 16.04 in Ansible ist
Wenn das vorherige Diagramm in Seaborn verbleibt
Zeitpunkt, zu dem das Terminal in Visual Studio Code verschwindet
Vorsichtsmaßnahmen bei der Installation von Paketen in der Conda-Umgebung
Wenn sich Achse und Beschriftung in matplotlib überlappen
Einbetten in datetime, wenn nur die Zeit bekannt ist
Wenn der Variablenname mit dem Devaga-Befehl in pdb in Konflikt steht
Den Typ mit Python beherrschen? (Wann ist eine Typprüfung durchzuführen?)
Überprüfen Sie im Voraus, was passiert, wenn der Befehl ausgeführt wird
Lösen Sie das japanische Problem, wenn Sie das CSV-Modul in Python verwenden.
Die minimale Methode, die beim Aggregieren von Daten mit Pandas zu beachten ist
Finde Fehler in Python
Achtung bei os.mkdir in Python
In der Liste verfügbare Methoden
Seien Sie vorsichtig, wenn Sie den Standardargumentwert in der Python 3-Serie angeben
Erfassen Sie das Betriebsprotokoll automatisch im Terminal, wenn Sie sich bei Linux anmelden
[Linux] Ich möchte das Datum wissen, an dem sich der Benutzer angemeldet hat
Ich habe einen AttributeError erhalten, als ich die offene Methode in Python verspottet habe
Moduszeile, wenn Sie den entsprechenden Python-Code in Vim öffnen
Lösung, wenn go's json.Marshal ein leeres Objekt zurückgibt
Animieren Sie, was im Frequenzraum passiert, wenn die Nyquist-Frequenz überschritten wird
Was tun, wenn der Werttyp in Python nicht eindeutig ist?