Skip to content

Use distro packaged Python packages where possible #106

@rgov

Description

@rgov

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions