-
Notifications
You must be signed in to change notification settings - Fork 2
Description
We currently install aiohttp, geopy, and scipy as dependencies with pip. These are all available from the apt repositories as python3-aiohttp etc.
The benefit of distro packages is that they are known to work together and we don't have situations where a pip install forces an upgrade of other packages that are relied on by ROS. A semi-related example of this is how we install yaml_validator which forces PyYAML >= 6.0 which is newer than the version ROS wants (though this doesn't appear to have consequences).
The downside of adopting this now is that from ROS1 Noetic through ROS2 Humble, at least, we would be downgrading these packages. Even though we have a light API surface area which is probably easy to refactor, this is probably more trouble than it's worth...
- aiohttp 3.10.11 → 3.6.2
- geopy 2.4.1 → 1.20.0
- scipy 1.10 → 1.3.3
If we run in a virtual environment, it's slightly better in that ROS command line tools can use their preferred library versions, but note we still import ros packages so it remains problematic.