-
-
Notifications
You must be signed in to change notification settings - Fork 655
Description
From #30913:
Currently, pip
, wheel
, and setuptools
are installed without making wheels available in SAGE_SPKG_WHEELS
.
In this ticket, we make wheels available in SAGE_SPKG_WHEELS
. For the case of setuptools
, we create a new spkg setuptools_wheel
that takes care of it (it depends on wheel
).
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 as pplpy
) are built using build isolation (without access to already installed packages), they need access to their build system packages such as wheel
and setuptools
. 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 make pip
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