RobotPy install/deploy updates

Lots of big changes to the way that it works now, and I think now I’ve addressed most of the deploy/install related complaints that have been raised so far.

Space related things:

  • Uninstalls C++/Java programs if present to free up disk space
  • Stops the NI webserver during deploy to avoid out of memory errors

pyproject.toml related things:

  • Properly resolves robotpy_extras if you change it
  • Handles beta requirements and blank requirements better
  • Resolves requirement markers properly so you can do things like this:
requires = [
    "robotpy-opencv; platform_machine == 'roborio'",  # installed on rio
    "opencv-python; platform_machine != 'roborio'"    # installed on desktop
]
  • Checks to see if you actually downloaded packages before trying to install
  • Clears the RoboRIO’s python packages before installation to ensure that only your requirements are installed – but it will ask you before it does this

I think these changes will result in a smoother deploy/install experience, but it’ll be really important to ensure that you specify your project requirements in pyproject.toml.

If you want to try it out, run python -m pip install -U robotpy-installer and make sure you get version 2024.1.0 or later. Feedback is definitely welcome, both here or as a github issue.

3 Likes

This topic was automatically closed 365 days after the last reply. New replies are no longer allowed.