-
Notifications
You must be signed in to change notification settings - Fork 2.3k
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
Wheel installer and builder #4213
Conversation
5f126d0
to
ddbb94e
Compare
SonarCloud Quality Gate failed. 3 Bugs No Coverage information |
9be3b0f
to
b79fb1a
Compare
b79fb1a
to
fc3ce7c
Compare
These come from setuptools reusing the same build directory for performing builds and not having any concurency protections. These race conditions exist in newer versions of pip as well, when building in parallel, since pip has switched to in-tree builds as well. |
Closing since this is superseded. |
This pull request has been automatically locked since there has not been any recent activity after it was closed. Please open a new issue for related bugs. |
This PR is the first step towards getting rid of subprocess calls to
pip
for package installations and removals.The wheel building is handled by https://github.com/pypa/build and the wheel installation is handled by https://github.com/pradyunsg/installer (with modifications to be more lenient).
Note that the wheel building is not parallelized due to race conditions that I am yet to track down (it seems like the issue comes from
build
when calling the backend hooks). This is not a blocker though.Overall this speeds up quite a bit the installation times, especially once wheels are cached.
Pull Request Check List