-
-
Notifications
You must be signed in to change notification settings - Fork 580
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
pip, wheel, setuptools: Make wheels available in SAGE_SPKG_WHEELS #31045
Comments
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
This comment has been minimized.
Author: Matthias Koeppe |
New commits:
|
Commit: |
comment:4
Just out of interest, what is the use case behind "when we don't allow use of PyPI.", i.e. why would you want to do this? |
comment:5
Mainly it's a way to guarantee a fully functional build using only the given version constraints (in |
comment:6
Critical for completing the goal of user-defined venvs in Sage 9.3. |
This comment has been minimized.
This comment has been minimized.
comment:9
Expanded the description, needs review |
Reviewer: John Palmieri |
comment:10
This looks okay to me. |
comment:11
Thank you! |
From #30913:
Currently,
pip
,wheel
, andsetuptools
are installed without making wheels available inSAGE_SPKG_WHEELS
.In this ticket, we make wheels available in
SAGE_SPKG_WHEELS
. For the case ofsetuptools
, we create a new spkgsetuptools_wheel
that takes care of it (it depends onwheel
).This is so that after installation, we have a complete set of wheels for all Python packages installed by the Sage distribution. This allows users to create a venv by installing a compatible set of wheels (whose compiled extensions use the configured libraries in
SAGE_LOCAL
and the system). The most robust way of doing so is by disabling the use of PyPI (pip install --no-index
) so that no incompatible wheels can leak in. (This can be tested using #30913.)As PEP 517 packages (packages with a
pyproject.toml
, such aspplpy
) are built using build isolation (without access to already installed packages), they need access to their build system packages such aswheel
andsetuptools
. When use of PyPI is disabled, this relies on distributions (either source or wheel) to be available otherwise. On this ticket, we make them available as wheels. (We makepip
available as a wheel for completeness.)CC: @videlec @tobiasdiez @jhpalmieri @kliem
Component: build
Author: Matthias Koeppe
Branch/Commit:
1d19802
Reviewer: John Palmieri
Issue created by migration from https://trac.sagemath.org/ticket/31045
The text was updated successfully, but these errors were encountered: