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

Allow pip to intall source packages if there are no binaries #184

Closed
wants to merge 1 commit into from

Conversation

lpsinger
Copy link
Contributor

Remove the --only-binary=:all: flag from the pip install command. This option prevents pip from installing any packages from binary wheels, even those packages that only have source distributions or that lack binary wheels for the target platform.

Note that with this change there is a risk that when hydrating for a foreign architecture (e.g. when hydrating for aarch64 deployment on an i86_64 system) that pip may build wheels for the wrong architecture if compilers are not properly configured for cross-compilation.

However, with this change it is at least possible to build packages from source when necessary and when the host and target archs match.

For concreteness, we encountered the bug that this patch fixes when we were trying to hydrate a package that depends on logbook 1.7.0 for aarch64, because that package has no aarch64 wheels at all.

Thank you for helping out! ✨

We really appreciate your commitment to improving Architect

To maintain a high standard of quality in our releases, before merging every pull request we ask that you've completed the following:

  • Forked the repo and created your branch from master
  • Made sure tests pass (run npm it from the repo root)
  • Expanded test coverage related to your changes:
    • Added and/or updated unit tests (if appropriate)
    • Added and/or updated integration tests (if appropriate)
  • Updated relevant documentation:
  • Summarized your changes in changelog.md
  • Linked to any related issues, PRs, etc. below that may relate to, consume, or necessitate these changes

Please also be sure to completed the CLA (if you haven't already).

Learn more about contributing to Architect here.

Thanks again!

@ryanblock
Copy link
Member

Hey @lpsinger, merge main, that should fix the breakage from recently deprecated runtimes. Thanks!

Remove the `--only-binary=:all:` flag from the `pip install`
command. This option prevents pip from installing _any_ packages
from binary wheels, even those packages that only have source
distributions or that lack binary wheels for the target platform.

Note that with this change there _is_ a risk that when hydrating
for a foreign architecture (e.g. when hydrating for aarch64
deployment on an i86_64 system) that pip may build wheels for the
wrong architecture if compilers are not properly configured for
cross-compilation.

However, with this change it is at _least_ possible to build
packages from source when necessary and when the host and target
archs match.

For concreteness, we encountered the bug that this patch fixes
when we were trying to hydrate a package that depends on
[logbook 1.7.0](https://pypi.org/project/Logbook/1.7.0.post0/#files)
for aarch64, because that package has no aarch64 wheels at all.
@lpsinger lpsinger force-pushed the remove-no-binary-all branch from 3b93e17 to 0d86aa3 Compare January 10, 2024 07:02
@lpsinger
Copy link
Contributor Author

Closing in favor of #186.

@lpsinger lpsinger closed this Jan 10, 2024
@lpsinger lpsinger deleted the remove-no-binary-all branch January 10, 2024 08:15
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Development

Successfully merging this pull request may close these issues.

2 participants