Get the ros version installed using python code
Hello,
May I know which python package to used to find the ros version name and the detailed version number installed in my linux box.
TIA
Hello,
May I know which python package to used to find the ros version name and the detailed version number installed in my linux box.
TIA
I have found the version numbers just by looking at the ros_master's 'package.xml' and 'common.h' in the roscpp package.
That is exactly how rosversion -d
does it. See here:
mm = ManifestManager(PACKAGE_FILE)
path = mm.get_path(args.package)
package_manifest = os.path.join(path, 'package.xml')
if os.path.exists(package_manifest):
from xml.etree.ElementTree import ElementTree
try:
root = ElementTree(None, package_manifest)
version = root.findtext('version')
except Exception:
pass
an ugly way to grep the version name is to create a subprocess
pipe with the rosversion -d
(or rosversion pkg_name
for package version) command:
new_proc = subprocess.Popen(["rosversion", "-d"], stdout=subprocess.PIPE)
version_str = new_proc.communicate()[0]
Please start posting anonymously - your entry will be published after you log in or create a new account.
Asked: 2019-10-16 15:25:14 -0600
Seen: 412 times
Last updated: Oct 17 '19
How do I test the ROS version in Python code?
Install Kinect 360 on ROS Kinetic (ubuntu 16.04)
Unable to publish joint angles to gazebo using rostopic
roslaunch doesn't terminate on pressing Ctrl-C when changing ROS param in a loop
Setup Hokuyo UST 10LX ip with remote access
ROS Segmentation fault (core dumped)
Gazebo Actor's collisions and skeleton show up at origin
Unable to use python speech_recognition package
Publish multiple points on trajectory_msgs::JointTrajectory topic.
Are you specifically restricted to python or is bash OK?
And are you assuming you have sourced the setup file or not?
yes i'm trying to understand only in python and I have sourced setup.bash file. I have found the version numbers just by looking at the ros_master's 'package.xml' and 'common.h' in the roscpp package. But I wanted to just use the information in my python application.
If you know what files theyre in, you can easily use python to crawl those files and extract the versions