mas_domestic_robotics icon indicating copy to clipboard operation
mas_domestic_robotics copied to clipboard

Migration of packages to Python 3

Open argenos opened this issue 6 years ago • 8 comments

argenos avatar May 25 '19 12:05 argenos

I can't recall if there was a discussion about this, but I think we should treat this issue independent of the Melodic migration for the time being. Because of ROPOD, we cannot (fully) migrate to Melodic now (i.e. we need our development machines to have Ubuntu 16.04/ROS kinetic), but most of the code can be migrated to Python 3 anyway since ROS kinetic works fine with Python 3 (with the exception of a few packages that need some fixing, notably mongodb_store and tf2).

alex-mitrevski avatar Jun 15 '19 07:06 alex-mitrevski

This is only an issue for the staff, the rest of the team could migrate. We could, of course, try to make our kinetic and melodic branches compatible, I’m just not sure what the current issues are of setting up kinetic with python 3. What about using docker?

argenos avatar Jun 15 '19 08:06 argenos

I’m just not sure what the current issues are of setting up kinetic with python 3

As I said, I've only had problems with a few packages (I forgot to mention OpenCV in the above list, which is also problematic); everything else is working fine with Python 3.

What about using docker?

You mean docker for melodic, right?

alex-mitrevski avatar Jun 18 '19 08:06 alex-mitrevski

I’m just not sure what the current issues are of setting up kinetic with python 3

As I said, I've only had problems with a few packages (I forgot to mention OpenCV in the above list, which is also problematic); everything else is working fine with Python 3.

Alright, based on that we would need:

  • a script to setup Kinetic with python 3 to make it easier for everyone in the team to switch
    • the opencv issues already came up in https://github.com/b-it-bots/mas_perception_libs/issues/5 but maybe @minhnh can update us on the status
  • someone to setup the CI to use Kinetic with Python3 (using the script above?)

What about using docker?

You mean docker for melodic, right?

Yes, we (the staff) could use docker for melodic. The rest can upgrade or have a bionic partition.

argenos avatar Jun 18 '19 10:06 argenos

In general, OpenCV shouldn't be an issue. The big change was indigo->kinetic since they went from OpenCV 2 to 3. kinetic->melodic is just OpenCV 3. I haven't got a chance to add tests for cv_bridge, however.

minhnh avatar Jun 18 '19 11:06 minhnh

I reopened #176 and updated it to kinetic, and I can take care of it once someone creates the script.

argenos avatar Jun 18 '19 12:06 argenos

@minhnh I was referring to Python 3 on kinetic when I said there are problems with OpenCV; kinetic to melodic might not be a problem.

alex-mitrevski avatar Jun 18 '19 12:06 alex-mitrevski

FWIW, on an unrelated test, I ended up having to test something with opencv and python3. cv_bridge needs to be built with python3, e.g. see here

argenos avatar Oct 14 '19 15:10 argenos