I'm trying to read rosbag files from Python 3. I installed ROS2 (Eloquent Elusor), which should support Python 3. When I run import rosbag bag = rosbag.Bag('test.bag') from Python 2.7, it works. When I try the same in Python 3, I get: ModuleNotFoundError: No module named 'rosbag' I also tried things like: sudo apt install python-rosbag, sudo apt install python3-rospkg and pip3 install rospkg, but they don't help. What should I do to open a rosbag file from Python 3? [EDIT] This is the output after calling pip3 install rospkg: Requirement already satisfied: rospkg in ./rosbag-env/lib/python3.6/site-packages Requirement already satisfied: catkin-pkg in ./rosbag-env/lib/python3.6/site-packages (from rospkg) Requirement already satisfied: distro in ./rosbag-env/lib/python3.6/site-packages (from rospkg) Requirement already satisfied: PyYAML in ./rosbag-env/lib/python3.6/site-packages (from rospkg) Requirement already satisfied: pyparsing in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg) Requirement already satisfied: python-dateutil in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg) Requirement already satisfied: docutils in ./rosbag-env/lib/python3.6/site-packages (from catkin-pkg->rospkg) Requirement already satisfied: six>=1.5 in ./rosbag-env/lib/python3.6/site-packages (from python-dateutil->catkin-pkg->rospkg) Continue reading...