-
-
Notifications
You must be signed in to change notification settings - Fork 10.2k
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
WIP: CI: try building with setuptools 50.0 #17209
Conversation
That failed with a fairly obscure error on TravisCI:
That was still without trying to force EDIT: the failure on Windows happens earlier:
|
Reverts numpygh-16993 See also scipy/scipy#12798
e040f5c
to
dcebb90
Compare
TravisCI error, before the actual build even gets started,
|
The bigger issue here is the interaction between Old situation, for setuptools <50.0:
This situation worked reasonably well, because:
New situation, for setuptools 50.0: (default situation, no env var set)
So The releasing new patches quickly without testing will still be an issue for What now? Longer-term I don't think it's feasible for
|
I see, "scikit-learn needs to build with NumPy 1.13.3 right now" seems like a real issue. So it is not only numpy needs to re-release all minor versions, but other packages should switch to them too. Standalone numpy.distutils and numpy.distutils as a part of setuptools solutions would not be needed, if setuptools followed the semantics of stdlib distutils. But I guess it defeats the purpose of "setuptools distutils adoption"... The whole issues demonstrates that there is an implicit dependency of numpy on setuptools (when they are installed), which should be made explicit (and it happens in all your 3 proposals). I have two more "solutions", although I do not know if they are practical:
Another problem: it looks like for Python <= 3.9 it is still possible to survive with "SETUPTOOLS_USE_DISTUTILS=stdlib" or older setuptools versions, but what if changes in pypa/disutils (e.g., spawn with env param) will be added to stdlib distutils? |
We're not doing that, that's a nonstarter.
Exactly. That's simply a "do nothing" option. And
It is explicit already, see for example
That's the situation we had until fairly recently, but it's not maintainable given what
That's the same option I had, my first one with the version pin. |
That's only explicit as a build-time dependency. Don't downstream users of numpy.distutils also end up with an implicit runtime dependency on setuptools? |
I don't see why you'd ever need |
The scenario I'm thinking of is a downstream package that puts
|
Oh okay, yes that makes sense. I wouldn't call that "runtime" though - it's "build-time for a downstream package". If you'd want to do anything at runtime, like playing with the new Python interface to CPU architecture SIMD support, or using |
To make that clearer, both NumPy and SciPy:
That's how it should stay. The rest is just semantics. |
Not needing this anymore, we're staying with the 0.49 pin. So closing this PR. |
Reverts gh-16993
See also scipy/scipy#12798