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

Wheel installer and builder #4213

Closed
wants to merge 4 commits into from
Closed

Conversation

sdispater
Copy link
Member

@sdispater sdispater commented Jun 25, 2021

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

  • Added tests for changed code.
  • Updated documentation for changed code.

@sdispater sdispater added the area/installer Related to the dependency installer label Jun 25, 2021
@sdispater sdispater added this to the 1.2 milestone Jun 25, 2021
@sdispater sdispater force-pushed the wheel-installer-and-builder branch from 5f126d0 to ddbb94e Compare June 25, 2021 13:28
@sonarcloud
Copy link

sonarcloud bot commented Jun 25, 2021

SonarCloud Quality Gate failed.

Bug B 3 Bugs
Vulnerability A 0 Vulnerabilities
Security Hotspot A 0 Security Hotspots
Code Smell A 1 Code Smell

No Coverage information No Coverage information
0.0% 0.0% Duplication

@sdispater sdispater force-pushed the wheel-installer-and-builder branch 6 times, most recently from 9be3b0f to b79fb1a Compare July 30, 2021 13:01
@pradyunsg
Copy link
Contributor

Note that the wheel building is not parallelized due to race conditions that I am yet to track down

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.

@neersighted
Copy link
Member

Closing since this is superseded.

@neersighted neersighted deleted the wheel-installer-and-builder branch August 25, 2022 07:23
Copy link

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.

@github-actions github-actions bot locked as resolved and limited conversation to collaborators Feb 29, 2024
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area/installer Related to the dependency installer
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants