[Distutils] setup_requires: the obvious option(?)

Daniel Holth dholth at gmail.com
Tue Aug 30 14:32:14 EDT 2016


On Tue, Aug 30, 2016 at 1:13 PM Thomas Kluyver <thomas at kluyver.me.uk> wrote:

> On Tue, Aug 30, 2016, at 05:51 PM, Antony Lee wrote:
>
> I am not really a fan of PEP518 in general.  Basically, the idea of
> setup.py is that declarative languages are not sufficient to express a
> build system (and AFAICT this is always going to be the case for
> expressing, say, compiler flags for extensions), so I'd rather just accept
> that and stick everything in setup.py instead of adding more parameter
> files.  What if someone wants dynamic build dependencies?
>
>
> Dynamic build deps aren't precluded - the idea is that the build system
> can discover additional dependencies when it runs, while the static
> build-system field specifies just what's required to run the build system
> itself.  However, the build system interface was split out into separate
> PEPs (517 & 516 are alternatives) to allow 518 to go forwards.
>
> I take totally the opposite view: we should make as much metadata as
> possible declarative, even though we know we can't define a totally general
> build system with purely declarative information.
>

This comes up over and over again because we've been living with this
system for long enough that the build script and metadata are together both
in setup.py and in people's brains. But there is a whole lot of stuff that
makes perfect sense in a static file. For example: name, version, packages,
install_requires, extras_require, description, license, classifiers,
keywords, author, url, entry_points. The only thing that would cause
trouble is if the system had no available build script.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20160830/e244d788/attachment.html>


More information about the Distutils-SIG mailing list