-
Notifications
You must be signed in to change notification settings - Fork 280
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
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
distutils
and optionally supportssetuptools
; however,distutils
for Python 3 requires a dependency onpython3-distutils
in 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.core
can't be importedbuildtool_export_depend
onsetuptools
since something like it must be available downstreamsetuptools
instead ofdistutils.core
.With this PR I think the effect on Python 2 ROS distros is
python-setuptools
would be installed where it wasn't before, but no downstream changes are required. The effect on Noetic is downstream packages depending oncatkin
either need to depend onpython3-distutils
or usesetuptools
instead.