8000 BUG: sysconfig attributes/distutils issue by tylerjereddy · Pull Request #17268 · numpy/numpy · GitHub
[go: up one dir, main page]

Skip to content

BUG: sysconfig attributes/distutils issue #17268

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

Merged
merged 1 commit into from
Sep 7, 2020

Conversation

tylerjereddy
Copy link
Contributor
  1. in one case, distutils.sysconfig.get_python_inc was
    replaced with distutils.get_python_inc, which does not
    exist (probably a typo)
  2. a bit more serious; even sysconfig.get_python_inc does
    not appear to exist; the closest match I could find (and
    that worked) was sysconfig.get_path() with options for
    general and platform-specific header paths as needed
  • I'm not claiming that these stdlib replacements are perfect
    either (the prefix case may still be slightly different?), but
    it does prevent the SciPy build break originally introduced
    as a start

* numpygh-17223 started the `distutils` modernization
process because of the various upstream stuff
going on (thanks)

* that set of changes caused build issues with NumPy
pre-release wheels + SciPy `master`:
https://travis-ci.org/github/scipy/scipy/builds/725002838

* I was able to patch two separate issues and confirm
that this feature branch restores the SciPy build locally:
1) in one case, `distutils.sysconfig.get_python_inc` was
replaced with `distutils.get_python_inc`, which does not
exist (probably a typo)
2) a bit more serious; even `sysconfig.get_python_inc` does
not appear to exist; the closest match I could find (and
that worked) was `sysconfig.get_path()` with options for
general and platform-specific header paths as needed

* I'm not claiming that these stdlib replacements are perfect
either (the prefix case may still be slightly different?), but
it does prevent the SciPy build break originally introduced
as a start
@mattip
Copy link
Member
mattip commented Sep 7, 2020

Thanks @tylerjereddy, sorry for the breakage. As this is confirmed to work with SciPy, and our CI apparently does not cover these (otherwise there would have been failing tests), there is no need to wait for CI to merge. Hopefully it will not break other downstream packages.

@mattip mattip merged commit 6aea071 into numpy:master Sep 7, 2020
@mattip
Copy link
Member
mattip commented Sep 7, 2020

I guess we could try to write a test for this

@tylerjereddy tylerjereddy deleted the treddy_distutils_sysconfig_fix branch September 7, 2020 21:36
@charris
Copy link
Member
charris commented Sep 7, 2020

I've triggered new wheel builds that should have this fix.

98C2

@rgommers
Copy link
Member
rgommers commented Sep 7, 2020

I guess we could try to write a test for this

I suspect we'll be much better off in keeping our pins to setuptools <50.0, waiting till things have stabilized with the distutils inclusion in setuptools, then doing the whole migration in one go with SciPy and other builds as the integration test suite of that change.

numpy.distutils has tests for almost nothing, and even this trivial change broke something. I'd expect many/most other changes to also break things, and starting to write tests now for numpy.distutils code that we may not even keep 1-2 years from now seems like a potential waste of time.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

Successfully merging this pull request may close these issues.

4 participants
0