その時の対処をメモ。
今回の環境
Ubuntu 14.04ROS indigo
gazebo
最終的にわかった原因
そう、それはUbuntuを安易にapt-get upgradeしたことによりソフトウェアが更新され、ROSの依存関係が崩れてしまったこと。(だと思う)
いろいろな症状
ROSでrqt_graphを起動しようとしたら、とりあえずそんなものない的なことを言われた。エラー内容をメモしておくのを忘れたのでどんなエラーをコンソールに出力したかわからないが、
$ rosrun rqt_graph rqt_graph found no plugin matching "rqt_graph.ros graph.RosGraph" ...こんな感じのエラーが出ていた。
rqt_graphを含めrqt_imageとかいろんなものが使えなかった。
また、rqtのみを立ち上げてもPluginにはgraph等はなかった。
ってことで、なくなったrqt関係を全部入れる。
$ sudo apt-get install ros-indigo-rqt-common-pluginsこれで、とりあえずrqt関係はインストールされる。
よし、これでrqt_graph起動だ!
と思っても、またしてもエラー↓
NameError: global name 'dot_parser' is not defined
$ rosrun rqt_graph rqt_graph 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 202, in restore_settings self._refresh_rosgraph() File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 226, 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 259, in _update_graph_view self._redraw_graph_view() File "/opt/ros/indigo/lib/python2.7/dist-packages/rqt_graph/ros_graph.py", line 292, in _redraw_graph_view same_label_siblings=True) File "/opt/ros/indigo/lib/python2.7/dist-packages/qt_dotgraph/dot_to_qt.py", line 248, 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 defineddot_parserがない?
調べてみると、Python関係の問題らしい。
Python2.7など、Python2.X系ではpyparsingというライブラリが1.X系でないといけないらしい。
コマンドによるバージョンの調べ方はわからないが下記のコマンド実行時に出てくる出力で
現在入っているバージョンは2.X系であることがわかった。
$ sudo pip uninstall pyparsing Uninstalling pyparsing: /usr/local/lib/python2.7/dist-packages/pyparsing-2.1.5.dist-info/DESCRIPTION.rst /usr/local/lib/python2.7/dist-packages/pyparsing-2.1.5.dist-info/METADATA /usr/local/lib/python2.7/dist-packages/pyparsing-2.1.5.dist-info/RECORD /usr/local/lib/python2.7/dist-packages/pyparsing-2.1.5.dist-info/WHEEL /usr/local/lib/python2.7/dist-packages/pyparsing-2.1.5.dist-info/metadata.json /usr/local/lib/python2.7/dist-packages/pyparsing-2.1.5.dist-info/top_level.txt /usr/local/lib/python2.7/dist-packages/pyparsing.py /usr/local/lib/python2.7/dist-packages/pyparsing.pyc Proceed (y/n)? y Successfully uninstalled pyparsing $ pip install -Iv https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz#md5=9be0fcdcc595199c646ab317c1d9a709 Downloading/unpacking https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz Downloading pyparsing-1.5.7.tar.gz (939kB): Downloading from URL https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz ...Downloading pyparsing-1.5.7.tar.gz (939kB): 939kB downloaded Running setup.py (path:/tmp/pip-XwB3b7-build/setup.py) egg_info for package from https://pypi.python.org/packages/source/p/pyparsing/pyparsing-1.5.7.tar.gz ... $ sudo pip install pydot Requirement already satisfied (use --upgrade to upgrade): pydot in /usr/lib/python2.7/dist-packages Requirement already satisfied (use --upgrade to upgrade): pyparsing in /usr/local/lib/python2.7/dist-packages (from pydot) Cleaning up... $ rosrun rqt_graph rqt_graph
これで、晴れてrqt関係が治った。
やれやれ
0 件のコメント :
コメントを投稿