Prefer setuptools with Python 3#1048
Conversation
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
Signed-off-by: Shane Loretz <sloretz@osrfoundation.org>
|
CI failure on Noetic appears to be due to CMake warning unrelated to this PR: http://build.ros.org/job/Npr__catkin__ubuntu_focal_amd64/4/warnings2Result/new/ |
|
This change is causing a bit of chaos for us as the install directory has changed from Part of the reason this is problematic is because we build in isolation with custom post-build merging, but even in a more conventional build scenario, there's a conflict over this file as it could be provided by multiple packages with varying contents. Switching to FYI @tspicer01 |
|
This pull request has been mentioned on ROS Discourse. There might be relevant details there: https://discourse.ros.org/t/ros-1-and-python-3-10s-deprecation-of-distutils-core/29834/15 |
This is a follow up to ros/genmsg#90 (comment)
Currently catkin requires
distutilsand optionally supportssetuptools; however,distutilsfor Python 3 requires a dependency onpython3-distutilsin Ubuntu Focal and Debian Buster. This PR makes catkin prefer setuptools and optionally support distutils when using Python 3.setup.py, don't fail ifdistutils.corecan't be importedbuildtool_export_dependonsetuptoolssince something like it must be available downstreamsetuptoolsinstead ofdistutils.core.With this PR I think the effect on Python 2 ROS distros is
python-setuptoolswould be installed where it wasn't before, but no downstream changes are required. The effect on Noetic is downstream packages depending oncatkineither need to depend onpython3-distutilsor usesetuptoolsinstead.