-
-
Notifications
You must be signed in to change notification settings - Fork 657
Description
Just loading src/setup.py
already pulls in Cython, numpy
, and pkgconfig
via sage_setup
, so these distributions would have to be declared as [build_system] requires
in src/pyproject.toml
(ex setup_requires
)
By moving some computations from import-time to runtime, we get rid of this early dependency on pkgconfig
, numpy
. (They are, of course, still required for building the package.)
This makes setup.py sdist
work using a Python that does not have numpy
or pkgconfig
installed. To test (with a system python that has Cython
):
$ (cd build/pkgs/sagelib/src && python3 -u setup.py --no-user-cfg sdist)
(We also reduce the load-time dependency on Cython; however, we do not address the whole load-time dependency of setup.py
on Cython
(via sage_setup.find
, which uses open_source_file
and is_package_dir
) in this ticket. This is best done after #28925.)
Depends on #30709
CC: @tobiasdiez @jhpalmieri @kiwifb @dimpase
Component: build
Author: Matthias Koeppe
Branch/Commit: 8f04684
Reviewer: Dima Pasechnik
Issue created by migration from https://trac.sagemath.org/ticket/30580