ImportError: No module named bson when trying to launch a websocket test with rosbridge

asked 2020-07-30 12:09:57 -0500

RayROS gravatar image

I have been trying to get started with roslibjs to create a web interface for my robot, but without great success. I installed first sudo-apt get install ros-melodic-rosbridge-server, went ahead and create an example folder called gui_bridge under the src folder as usual.

I created a very simple launch file as below:

websocket.launch

<launch>
  <include file="$(find rosbridge_server)/launch/rosbridge_websocket.launch"/>
</launch>

OPened two terminals, one for roscore and the other for launching roslaunch gui_bridge websocket.launch but got the error below saying:

ImportError: No module named bson

below the terminal output:

process[rosapi-2]: started with pid [776]
2020-07-30 12:56:04-0400 [-] Log opened.
2020-07-30 12:56:04-0400 [-] Traceback (most recent call last):
2020-07-30 12:56:04-0400 [-]   File "/opt/ros/melodic/lib/rosbridge_server/rosbridge_websocket", line 48, in <module>
2020-07-30 12:56:04-0400 [-]     from rosbridge_server import ClientManager
2020-07-30 12:56:04-0400 [-]   File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbridge_server/__init__.py", line 2, in <module>
2020-07-30 12:56:04-0400 [-]     from .websocket_handler import RosbridgeWebSocket
2020-07-30 12:56:04-0400 [-]   File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbridge_server/websocket_handler.py", line 49, in <module>
2020-07-30 12:56:04-0400 [-]     from rosbridge_library.rosbridge_protocol import RosbridgeProtocol
2020-07-30 12:56:04-0400 [-]   File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbridge_library/rosbridge_protocol.py", line 34, in <module>
2020-07-30 12:56:04-0400 [-]     from rosbridge_library.protocol import Protocol
2020-07-30 12:56:04-0400 [-]   File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbridge_library/protocol.py", line 40, in <module>
2020-07-30 12:56:04-0400 [-]     from rosbridge_library.util import json, bson
2020-07-30 12:56:04-0400 [-]   File "/opt/ros/melodic/lib/python2.7/dist-packages/rosbridge_library/util/__init__.py", line 19, in <module>
2020-07-30 12:56:04-0400 [-]     import bson
2020-07-30 12:56:04-0400 [-] ImportError: No module named bson
[INFO] [1596128164.177338]: Rosapi started
[rosbridge_websocket-1] process has died [pid 775, exit code 1, cmd /opt/ros/melodic/lib/rosbridge_server/rosbridge_websocket __name:=rosbridge_websocket __log:=/home/emanuele/.ros/log/8bc5ca86-d285-11ea-ad8e-a86daa9b43e9/rosbridge_websocket-1.log].
log file: /home/emanuele/.ros/log/8bc5ca86-d285-11ea-ad8e-a86daa9b43e9/rosbridge_websocket-1*.log

After a bit of research I came across this source which advised to sudo apt-get install ros-melodic-rosbridge-suite. I did exactly that but got the same exact error.

I even try to uninstall: sudo apt remove ros-melodic-rosbridge-server and reinstall it but that didn't change the output unfortunately.

Please point to the right direction for solving this issue.

edit retag flag offensive close merge delete