Python3 Compatibility Support

Hi all,

I’m using the latest image from https://downloads.ubiquityrobotics.com/pi.html and I’m wondering if there is any support for Python3. I see that Python3 is installed on the image, but the ROS appears to use Python 2.7.

Is using Python3 an option? Are there plans to migrate?

Thanks!

Please tell me the actual image name. ‘latest’ is a little bit odd right now as we just put on the site this image: 2020-11-07-ubiquity-xenial-lxde

Is this the one you mean? We are trying to support the Pi4 mostly with this release so I do not know the python 3 install on that just offhand. Still, always please state the actual rev because if read in the future ‘latest’ is hard to know what was meant. Thanks.

My apologies. Yes, I was referring to 2020-11-07-ubiquity-xenial-lxde.

I noticed the pi image has python 2.7 and 3.5, but all the ROS py modules appear to be 2.7 (/opt/ros/melodic/lib/python2.7/)

Is there any plan to update the libraries ROS uses to python 3?

Hi @blorp,

Good question. The current image is Ubuntu Xenial (16.04) and ROS Kinetic. While it is theoretically possible to build parts of ROS Kinetic with Python 3, Python 2 is the default and supported version.

ROS Noetic (running on Ubuntu Focal 20.04) use exclusively Python 3. Our plan is to migrate to ROS Noetic, and with that we will be moving to Python 3, but not on the current Kinetic system.

Rohan

Thanks, that makes sense. Do you know when you will be migrating to Noetic? Is that soon, in the next release, or further out?

There are numerous issues in getting Noetic going. We may shoot for a 32bit version first then later a 64bit version for taking advantage of more of the power of the Pi4.

We have a strong want to at least have an image for Noetic in the next 2-3 months (perhaps 32 bit) but have not set a milestone date for using Noetic in the core Magni product as it is today.

This is being discussed actively these days but no solid timeline yet.

1 Like