Skip to content
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

Remove costly python requirements on Raspberry Pi #7635

Merged

Conversation

mspang
Copy link
Contributor

@mspang mspang commented Jun 15, 2021

Problem

Bootstrap takes up to 1 hour to boostrap on Raspberry Pi, largely due to
adding "pandas" which is expensive to build and doesn't have a linux
aarch64 wheel on pypi.

Change overview

Remove packages with no wheels from the requirements on
aarch64 to save time (pandas, gdbgui).

This switches the compiled requirements.txt to a "constraints.txt" which
is like a requirements file but only contains version constraints and
does not automatically install its contents. That way, we can specify
what version to use for packages on amd64 without forcing their
installation on the Pi. See pip help install for more details on this
feature.

This reduces initial Pi 4 Python bootstrap down to ~4m from ~50m.

Testing

source scripts/bootstrap.sh on Raspberry Pi

@mspang mspang force-pushed the for-chip/faster-pi-bootstrap branch from a5a9371 to 81df840 Compare June 15, 2021 05:12
It takes up to 1 hour to boostrap on Raspberry Pi, largely due to adding
"pandas" which is expensive to build and doesn't have a linux aarch64
wheel on pypi. Remove packages with no wheels from the requirements on
aarch64 to save time (pandas, gdbgui).

This switches the compiled requirements.txt to a "constraints.txt" which
is like a requirements file but only contains version constraints and
does not automatically install its contents. That way, we can specify
what version to use for packages on amd64 without forcing their
installation on the Pi. See pip help install for more details on this
feature.

This reduces initial Pi 4 Python bootstrap down to ~4m from ~50m.
@mspang mspang force-pushed the for-chip/faster-pi-bootstrap branch from 81df840 to 290a2e2 Compare June 15, 2021 15:43
@woody-apple woody-apple merged commit 8ef99f6 into project-chip:master Jun 15, 2021
@mspang mspang deleted the for-chip/faster-pi-bootstrap branch June 15, 2021 21:16
nikita-s-wrk pushed a commit to nikita-s-wrk/connectedhomeip that referenced this pull request Sep 23, 2021
It takes up to 1 hour to boostrap on Raspberry Pi, largely due to adding
"pandas" which is expensive to build and doesn't have a linux aarch64
wheel on pypi. Remove packages with no wheels from the requirements on
aarch64 to save time (pandas, gdbgui).

This switches the compiled requirements.txt to a "constraints.txt" which
is like a requirements file but only contains version constraints and
does not automatically install its contents. That way, we can specify
what version to use for packages on amd64 without forcing their
installation on the Pi. See pip help install for more details on this
feature.

This reduces initial Pi 4 Python bootstrap down to ~4m from ~50m.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants