On Sun, Jun 24, 2018 at 8:20 AM Nick Coghlan <[email protected]> wrote:
> On 23 June 2018 at 07:47, Pradyun Gedam <[email protected]> wrote: > > On Sat, 23 Jun 2018, 03:08 Brett Cannon, <[email protected]> wrote: > >> The JSON schema is for "illustrative purposes only", so it should not be > >> viewed as part of the spec. > > > > Yeah, that's exactly what I pointed out to the user in the pip issue > tracker > > as well. > > Something you may want to consider is that while PEP 518 explicitly > specifies that a missing pyproject.toml should be interpreted as > "build-system.build-requires=['setuptools', 'wheel']", there's nothing > that specifically prohibits an installer from offering a > "default-for-missing-build-requires" setting. > > Right now, `pip` effectively defaults that hypothetical setting to > "['setuptools', 'wheel']", with the proposed change being to switch it > to "[]" instead (which better aligns with the intent of PEP 518). > > However, the new semantics mean that some sdist releases of some > projects will become uninstallable. Making the installer level setting > explicit rather than hypothetical would allow anyone affected to deal > with that problem without either being stuck on the older version of > pip, or being forced to concurrently upgrade to newer versions of the > affected projects. > > Cheers, > Nick. > > -- > Nick Coghlan | [email protected] | Brisbane, Australia > Assuming we are going to disallow missing build-requires, I think a better way for this would be to allow a user to override build-requires on a per-package basis. It'd be a more verbose and also clearer about which packages are needing some sort of work-around to install, pushing packages to just directly specify build-requires in future releases. This is already a feature request for pip for a different use case and I think it's a reasonable request. Sure, it is extra hoops to jump through but in the long term it makes things fairly frictionless since everyone will start specifying build-system.requires -- if there's a missing build-system.requires, use the override mechanism to use setuptools and wheel (and anything else possibly) to build it. Pradyun
-- Distutils-SIG mailing list -- [email protected] To unsubscribe send an email to [email protected] https://mail.python.org/mm3/mailman3/lists/distutils-sig.python.org/ Message archived at https://mail.python.org/mm3/archives/list/[email protected]/message/VDVIQYVC2HMBOROJD4EF73RHXLSP3G2D/
