ROS Resources: Documentation | Support | Discussion Forum | Index | Service Status | ros @ Robotics Stack Exchange
Ask Your Question

Revision history [back]

click to hide/show revision 1
initial version

The whole package is developed for python3 in ROS melodic [..]

ROS Melodic is Python 2 based. All packages released through the ROS buildfarm will therefore only get to use Python 2.

but Jenkins is using python2. [..] is there any way to force Jenkins configuration in order to run catkin with python3, for example forcing env vars as ROS_PYTHON_VERSION.

This is not a limitation of the ROS buildfarm, but of ROS Melodic (see also REP 3: Melodic Morenia).

Or am I missing something on package.xml?

No. The reason this is not working is because you cannot release a Python 3 package into ROS Melodic.

Or at least, not without some tricks (such as catkin_virtualenv.

For native Python 3 support, you'll have to switch to ROS Noetic (and/r ROS 2).

The whole package is developed for python3 in ROS melodic [..]

ROS Melodic is Python 2 based. All packages released through the ROS buildfarm will therefore only get to use Python 2.

but Jenkins is using python2. [..] is there any way to force Jenkins configuration in order to run catkin with python3, for example forcing env vars as ROS_PYTHON_VERSION.

This is not a limitation of the ROS buildfarm, but of ROS Melodic (see also REP 3: Melodic Morenia).

Or am I missing something on package.xml?

No. The reason this is not working is because you cannot release a Python 3 package into ROS Melodic.

Or at least, not without some tricks (such as catkin_virtualenv.).

For native Python 3 support, you'll have to switch to ROS Noetic (and/r ROS 2).

The whole package is developed for python3 in ROS melodic [..]

ROS Melodic is Python 2 based. All packages released through the ROS buildfarm will therefore only get to use Python 2.

but Jenkins is using python2. [..] is there any way to force Jenkins configuration in order to run catkin with python3, for example forcing env vars as ROS_PYTHON_VERSION.

This is not a limitation of the ROS buildfarm, but of ROS Melodic (see also REP 3: Melodic Morenia).

Or am I missing something on package.xml?

No. The reason this is not working is because you cannot release a Python 3 package into ROS Melodic.

Or at least, not without some tricks (such as catkin_virtualenv).

For native Python 3 support, you'll have to switch to ROS Noetic (and/r ROS 2).

Check that the build succeeds by running tests on TravisCI

Yes, probably because you invoke the build of your workspace like this:

catkin_make -DPYTHON_EXECUTABLE=/usr/bin/python3 -DPYTHON_VERSION=3.6 --force-cmake

which forces the use of Python 3 in a ROS Melodic workspace (ie: a Python 2-based ROS distro).