Why are overrides in setup.cfg necessary in Python ROS2 packages?

asked 2020-11-14 20:02:26 -0500

33thou gravatar image

updated 2020-11-20 20:51:25 -0500

The tutorials have us create a setup.cfg file with the contents:

[develop]
script-dir=$base/lib/<package-name>
[install]
install-scripts=$base/lib/<package-name>

This seems to break some common workflows related to pip install when testing outside of a ROS environment, such as installing pytest in CI or pip install -e . for running local scripts.

  1. What is the role of setting setting script-dir and install-scripts?
  2. What is the recommended practice for CI to install dependencies and run automated tests?

thanks for any insights!

edit retag flag offensive close merge delete

Comments

Just noting this here for future readers: setup.cfg is a standard setuptools file, not something invented for/by ROS 2. See also Python Packaging User Guide: Packaging and distributing projects.

gvdhoorn gravatar image gvdhoorn  ( 2020-11-15 02:11:42 -0500 )edit

Thank you, that's a good point. In fact it's this fact which makes it conflict with other workflows, which is why I'm trying to understand how it interacts with ROS environments.

33thou gravatar image 33thou  ( 2020-11-20 20:48:47 -0500 )edit

I've updated to title to better reflect my question

33thou gravatar image 33thou  ( 2020-11-20 20:50:50 -0500 )edit