Robotics StackExchange | Archived questions

python rospkg can't find all my packages

The ROS command line tools seems to work just fine. Why doesn't the python script show all the packages and why doesn't it give me a version number?

test.py

#!/usr/bin/python
import rospkg
ros_root = rospkg.get_ros_root()
print ("ROS root is " , ros_root)
p = rospkg.get_ros_paths()
print("ROS paths ", p)
l = rospkg.RosStack().list()
print ("List of packages is " , l)
v = rospkg.RosStack().get_stack_version('common_msgs')
print ("Version is " , v)

Running it:

$ test.py  
('ROS root is ', '/opt/ros/kinetic/share/ros')  
('ROS paths ', ['/opt/ros/kinetic/share/ros', '/home/cellula/auv/src', '/opt/ros/kinetic/share'])  
('List of packages is ', ['gazebo_ros_pkgs', 'ros_tutorials', 'nodelet_core', 'geometry_tutorials', 'roscpp_core', 'viz', 'ros', 'vision_opencv', 'perception_pcl', 'rqt_common_plugins', 'image_pipeline', 'desktop', 'rqt_robot_plugins', 'ros_base', 'image_common', 'ros_core', 'perception', 'bond_core', 'common_tutorials', 'ros_comm', 'simulators', 'executive_smach', 'common_msgs', 'image_transport_plugins', 'robot_model', 'visualization_tutorials', 'laser_pipeline', 'robot', 'geometry', 'diagnostics', 'desktop_full'])  
('Version is ', None)

rospack list:

actionlib /opt/ros/kinetic/share/actionlib  
actionlib_msgs /opt/ros/kinetic/share/actionlib_msgs  
actionlib_tutorials /opt/ros/kinetic/share/actionlib_tutorials  
advnav_fog /home/cellula/auv/src/advnav_fog  
angles /opt/ros/kinetic/share/angles  
bond /opt/ros/kinetic/share/bond  
bondcpp /opt/ros/kinetic/share/bondcpp  
bondpy /opt/ros/kinetic/share/bondpy  
camera_calibration /opt/ros/kinetic/share/camera_calibration  
camera_calibration_parsers /opt/ros/kinetic/share/camera_calibration_parsers  
camera_info_manager /opt/ros/kinetic/share/camera_info_manager  
catkin /opt/ros/kinetic/share/catkin  
class_loader /opt/ros/kinetic/share/class_loader  
cmake_modules /opt/ros/kinetic/share/cmake_modules  
collada_parser /opt/ros/kinetic/share/collada_parser  
collada_urdf /opt/ros/kinetic/share/collada_urdf  
compressed_depth_image_transport /opt/ros/kinetic/share/compressed_depth_image_transport  
compressed_image_transport /opt/ros/kinetic/share/compressed_image_transport  
control_msgs /opt/ros/kinetic/share/control_msgs  
cpp_common /opt/ros/kinetic/share/cpp_common  
crl_cmn /home/cellula/auv/src/crl_cmn  
crl_comms /home/cellula/auv/src/crl_comms  
crl_distributed_io /home/cellula/auv/src/crl_distributed_io  
crl_logic /home/cellula/auv/src/crl_logic  
crl_motion_controllers /home/cellula/auv/src/crl_motion_controllers  
crl_msgs /home/cellula/auv/src/crl_msgs  
crl_navigation /home/cellula/auv/src/crl_navigation  
crl_wgfd6 /home/cellula/auv/src/crl_wgfd6  
cv_bridge /opt/ros/kinetic/share/cv_bridge  
depth_image_proc /opt/ros/kinetic/share/depth_image_proc  
diagnostic_aggregator /opt/ros/kinetic/share/diagnostic_aggregator  
diagnostic_analysis /opt/ros/kinetic/share/diagnostic_analysis  
diagnostic_common_diagnostics /opt/ros/kinetic/share/diagnostic_common_diagnostics  
diagnostic_msgs /opt/ros/kinetic/share/diagnostic_msgs  
diagnostic_updater /opt/ros/kinetic/share/diagnostic_updater  
diamond_ir104 /home/cellula/auv/src/diamond_ir104  
dynamic_reconfigure /opt/ros/kinetic/share/dynamic_reconfigure  
eigen_conversions /opt/ros/kinetic/share/eigen_conversions  
eigen_stl_containers /opt/ros/kinetic/share/eigen_stl_containers  
filters /opt/ros/kinetic/share/filters  
gazebo_dev /opt/ros/kinetic/share/gazebo_dev  
gazebo_msgs /opt/ros/kinetic/share/gazebo_msgs  
gazebo_plugins /opt/ros/kinetic/share/gazebo_plugins  
gazebo_ros /opt/ros/kinetic/share/gazebo_ros  
gencpp /opt/ros/kinetic/share/gencpp  
geneus /opt/ros/kinetic/share/geneus  
genlisp /opt/ros/kinetic/share/genlisp  
genmsg /opt/ros/kinetic/share/genmsg  
gennodejs /opt/ros/kinetic/share/gennodejs  
genpy /opt/ros/kinetic/share/genpy  
geometric_shapes /opt/ros/kinetic/share/geometric_shapes  
geometry_msgs /opt/ros/kinetic/share/geometry_msgs  
gl_dependency /opt/ros/kinetic/share/gl_dependency  
gnss_receiver /home/cellula/auv/src/gnss_receiver  
gps_common /home/cellula/auv/src/gps_umd/gps_common    
image_geometry /opt/ros/kinetic/share/image_geometry  
image_publisher /opt/ros/kinetic/share/image_publisher  
image_rotate /opt/ros/kinetic/share/image_rotate  
image_transport /opt/ros/kinetic/share/image_transport    
image_view /opt/ros/kinetic/share/image_view    
imagenex_837a /home/cellula/auv/src/imagenex_837a  
imagenex_881 /home/cellula/auv/src/imagenex_881  
ingenia_servodrive /home/cellula/auv/src/ingenia_servodrive  
interactive_marker_tutorials /opt/ros/kinetic/share/interactive_marker_tutorials  
interactive_markers /opt/ros/kinetic/share/interactive_markers  
joint_state_publisher /opt/ros/kinetic/share/joint_state_publisher. 
kdl_conversions /opt/ros/kinetic/share/kdl_conversions  
kdl_parser /opt/ros/kinetic/share/kdl_parser  
laser_assembler /opt/ros/kinetic/share/laser_assembler  
laser_filters /opt/ros/kinetic/share/laser_filters  
laser_geometry /opt/ros/kinetic/share/laser_geometry  
librviz_tutorial /opt/ros/kinetic/share/librviz_tutorial
lua53 /home/cellula/auv/src/lua53  
map_msgs /opt/ros/kinetic/share/map_msgs  
media_export /opt/ros/kinetic/share/media_export  
message_filters /opt/ros/kinetic/share/message_filters  
message_generation /opt/ros/kinetic/share/message_generation  
message_runtime /opt/ros/kinetic/share/message_runtime  
metocean_hecto /home/cellula/auv/src/metocean_hecto  
mk /opt/ros/kinetic/share/mk  
nav_msgs /opt/ros/kinetic/share/nav_msgs  
nodelet /opt/ros/kinetic/share/nodelet  
nodelet_topic_tools /opt/ros/kinetic/share/nodelet_topic_tools  
nodelet_tutorial_math /opt/ros/kinetic/share/nodelet_tutorial_math  
nortek_dvl /home/cellula/auv/src/nortek_dvl  
nvmd_planes /home/cellula/auv/src/nvmd_planes  
oceanworks_vbs /home/cellula/auv/src/oceanworks_vbs  
octomap /opt/ros/kinetic/share/octomap  
octomap_msgs /opt/ros/kinetic/share/octomap_msgs  
octomap_ros /opt/ros/kinetic/share/octomap_ros  
octomap_server /opt/ros/kinetic/share/octomap_server  
ofg_magnetometer /home/cellula/auv/src/ofg_magnetometer  
opencv3 /opt/ros/kinetic/share/opencv3  
orocos_kdl /opt/ros/kinetic/share/orocos_kdl  
pcl_conversions /opt/ros/kinetic/share/pcl_conversions  
pcl_msgs /opt/ros/kinetic/share/pcl_msgs  
pcl_ros /opt/ros/kinetic/share/pcl_ros  
pluginlib /opt/ros/kinetic/share/pluginlib  
pluginlib_tutorials /opt/ros/kinetic/share/pluginlib_tutorials  
polled_camera /opt/ros/kinetic/share/polled_camera. 
python_orocos_kdl /opt/ros/kinetic/share/python_orocos_kdl  
python_qt_binding /opt/ros/kinetic/share/python_qt_binding  
qt_dotgraph /opt/ros/kinetic/share/qt_dotgraph  
qt_gui /opt/ros/kinetic/share/qt_gui  
qt_gui_cpp /opt/ros/kinetic/share/qt_gui_cpp  
qt_gui_py_common /opt/ros/kinetic/share/qt_gui_py_common  
qwt_dependency /opt/ros/kinetic/share/qwt_dependency  
random_numbers /opt/ros/kinetic/share/random_numbers  
resource_retriever /opt/ros/kinetic/share/resource_retriever  
robot_state_publisher /opt/ros/kinetic/share/robot_state_publisher  
robot_upstart /opt/ros/kinetic/share/robot_upstart  
ros_environment /opt/ros/kinetic/share/ros_environment  
rosbag /opt/ros/kinetic/share/rosbag  
rosbag_migration_rule /opt/ros/kinetic/share/rosbag_migration_rule  
rosbag_storage /opt/ros/kinetic/share/rosbag_storage  
rosbash /opt/ros/kinetic/share/rosbash  
rosboost_cfg /opt/ros/kinetic/share/rosboost_cfg  
rosbuild /opt/ros/kinetic/share/rosbuild  
rosclean /opt/ros/kinetic/share/rosclean  
rosconsole /opt/ros/kinetic/share/rosconsole  
rosconsole_bridge /opt/ros/kinetic/share/rosconsole_bridge  
roscpp /home/cellula/auv/src/ros_comm/clients/roscpp  
roscpp_serialization /opt/ros/kinetic/share/roscpp_serialization  
roscpp_traits /opt/ros/kinetic/share/roscpp_traits  
roscpp_tutorials /opt/ros/kinetic/share/roscpp_tutorials  
roscreate /opt/ros/kinetic/share/roscreate  
rosgraph /opt/ros/kinetic/share/rosgraph  
rosgraph_msgs /opt/ros/kinetic/share/rosgraph_msgs  
roslang /opt/ros/kinetic/share/roslang  
roslaunch /opt/ros/kinetic/share/roslaunch  
roslib /opt/ros/kinetic/share/roslib  
roslint /opt/ros/kinetic/share/roslint  
roslisp /opt/ros/kinetic/share/roslisp  
roslz4 /opt/ros/kinetic/share/roslz4  
rosmake /opt/ros/kinetic/share/rosmake  
rosmaster /opt/ros/kinetic/share/rosmaster  
rosmsg /opt/ros/kinetic/share/rosmsg  
rosnode /opt/ros/kinetic/share/rosnode  
rosout /opt/ros/kinetic/share/rosout  
rospack /opt/ros/kinetic/share/rospack  
rosparam /opt/ros/kinetic/share/rosparam  
rospy /opt/ros/kinetic/share/rospy  
rospy_tutorials /opt/ros/kinetic/share/rospy_tutorials  
rosservice /opt/ros/kinetic/share/rosservice  
rostest /opt/ros/kinetic/share/rostest  
rostime /opt/ros/kinetic/share/rostime  
rostopic /opt/ros/kinetic/share/rostopic  
rosunit /opt/ros/kinetic/share/rosunit  
roswtf /opt/ros/kinetic/share/roswtf  
rqt_action /opt/ros/kinetic/share/rqt_action  
rqt_bag /opt/ros/kinetic/share/rqt_bag  
rqt_bag_plugins /opt/ros/kinetic/share/rqt_bag_plugins  
rqt_console /opt/ros/kinetic/share/rqt_console  
rqt_dep /opt/ros/kinetic/share/rqt_dep  
rqt_graph /opt/ros/kinetic/share/rqt_graph  
rqt_gui /opt/ros/kinetic/share/rqt_gui  
rqt_gui_cpp /opt/ros/kinetic/share/rqt_gui_cpp  
rqt_gui_py /opt/ros/kinetic/share/rqt_gui_py  
rqt_image_view /opt/ros/kinetic/share/rqt_image_view  
rqt_launch /opt/ros/kinetic/share/rqt_launch  
rqt_logger_level /opt/ros/kinetic/share/rqt_logger_level  
rqt_moveit /opt/ros/kinetic/share/rqt_moveit  
rqt_msg /opt/ros/kinetic/share/rqt_msg  
rqt_nav_view /opt/ros/kinetic/share/rqt_nav_view 
rqt_plot /opt/ros/kinetic/share/rqt_plot  
rqt_pose_view /opt/ros/kinetic/share/rqt_pose_view  
rqt_publisher /opt/ros/kinetic/share/rqt_publisher  
rqt_py_common /opt/ros/kinetic/share/rqt_py_common  
rqt_py_console /opt/ros/kinetic/share/rqt_py_console  
rqt_reconfigure /opt/ros/kinetic/share/rqt_reconfigure  
rqt_robot_dashboard /opt/ros/kinetic/share/rqt_robot_dashboard  
rqt_robot_monitor /opt/ros/kinetic/share/rqt_robot_monitor  
rqt_robot_steering /opt/ros/kinetic/share/rqt_robot_steering  
rqt_runtime_monitor /opt/ros/kinetic/share/rqt_runtime_monitor  
rqt_rviz /opt/ros/kinetic/share/rqt_rviz  
rqt_service_caller /opt/ros/kinetic/share/rqt_service_caller  
rqt_shell /opt/ros/kinetic/share/rqt_shell  
rqt_srv /opt/ros/kinetic/share/rqt_srv  
rqt_tf_tree /opt/ros/kinetic/share/rqt_tf_tree  
rqt_top /opt/ros/kinetic/share/rqt_top  
rqt_topic /opt/ros/kinetic/share/rqt_topic  
rqt_web /opt/ros/kinetic/share/rqt_web  
rviz /opt/ros/kinetic/share/rviz  
rviz_plugin_tutorials /opt/ros/kinetic/share/rviz_plugin_tutorials  
rviz_python_tutorial /opt/ros/kinetic/share/rviz_python_tutorial  
seatrac_x150_usbl /home/cellula/auv/src/seatrac_x150_usbl  
self_test /opt/ros/kinetic/share/self_test  
sema /home/cellula/auv/src/sema  
sensor_msgs /opt/ros/kinetic/share/sensor_msgs  
shape_msgs /opt/ros/kinetic/share/shape_msgs  
smach /opt/ros/kinetic/share/smach  
smach_msgs /opt/ros/kinetic/share/smach_msgs  
smach_ros /opt/ros/kinetic/share/smach_ros  
smclib /opt/ros/kinetic/share/smclib  
solus_lite /home/cellula/auv/src/solus_lite  
sonardyne_avtrak6 /home/cellula/auv/src/sonardyne_avtrak6  
sonardyne_sprintnav /home/cellula/auv/src/sonardyne_sprintnav  
sparkfun_imu /home/cellula/auv/src/sparkfun_imu  
stage /opt/ros/kinetic/share/stage  
stage_ros /opt/ros/kinetic/share/stage_ros  
std_msgs /opt/ros/kinetic/share/std_msgs  
std_srvs /opt/ros/kinetic/share/std_srvs  
stereo_image_proc /opt/ros/kinetic/share/stereo_image_proc  
stereo_msgs /opt/ros/kinetic/share/stereo_msgs  
subctech_bms /home/cellula/auv/src/subctech_bms  
system_monitors /home/cellula/auv/src/system_monitors  
tecnadyne /home/cellula/auv/src/tecnadyne  
tf /opt/ros/kinetic/share/tf  
tf2 /opt/ros/kinetic/share/tf2  
tf2_eigen /opt/ros/kinetic/share/tf2_eigen  
tf2_geometry_msgs /opt/ros/kinetic/share/tf2_geometry_msgs  
tf2_kdl /opt/ros/kinetic/share/tf2_kdl
tf2_msgs /opt/ros/kinetic/share/tf2_msgs
tf2_py /opt/ros/kinetic/share/tf2_py
tf2_ros /opt/ros/kinetic/share/tf2_ros
tf_conversions /opt/ros/kinetic/share/tf_conversions
theora_image_transport /opt/ros/kinetic/share/theora_image_transport  
topic_tools /opt/ros/kinetic/share/topic_tools  
trajectory_msgs /opt/ros/kinetic/share/trajectory_msgs  
turtle_actionlib /opt/ros/kinetic/share/turtle_actionlib  
turtle_tf /opt/ros/kinetic/share/turtle_tf  
turtle_tf2 /opt/ros/kinetic/share/turtle_tf2  
turtlesim /opt/ros/kinetic/share/turtlesim  
urdf /opt/ros/kinetic/share/urdf  
urdf_parser_plugin /opt/ros/kinetic/share/urdf_parser_plugin  
urdf_tutorial /opt/ros/kinetic/share/urdf_tutorial  
urdfdom_py /opt/ros/kinetic/share/urdfdom_py  
valeport_uv_svp /home/cellula/auv/src/valeport_uv_svp  
visualization_marker_tutorials /opt/ros/kinetic/share/visualization_marker_tutorials  
visualization_msgs /opt/ros/kinetic/share/visualization_msgs  
viztools /home/cellula/auv/src/viztools  
volz_da26 /home/cellula/auv/src/volz_da26  
watchdog /home/cellula/auv/src/watchdog  
webkit_dependency /opt/ros/kinetic/share/webkit_dependency  
xacro /opt/ros/kinetic/share/xacro  
xmlrpcpp /opt/ros/kinetic/share/xmlrpcpp

Asked by borgcons on 2020-09-20 23:07:17 UTC

Comments

You're calling rospkg.RosStack().list(), which appears to only return metapackages. rospack list returns packages, of which there are always more.

I haven't checked the code nor the documentation, so I'm not sure why RosStack() returns metapackages, but I can guess: stacks were like what metapackages are now. Perhaps as a form of bw compatibility, metapackages are returned as-if they were stacks.

Asked by gvdhoorn on 2020-09-21 02:46:41 UTC

metapackage version bit is a known issue https://github.com/ros-infrastructure/rospkg/issues/18

v = rospkg.RosStack().get_stack_version('common_msgs')
print ("Version is " , v)
('Version is ', None)

Asked by 130s on 2020-09-22 06:20:38 UTC

Answers