[Distutils] Beyond wheels 1.0: helping downstream, FHS and more

Paul Moore p.f.moore at gmail.com
Sat Apr 18 21:40:51 CEST 2015


On 18 April 2015 at 20:02, Nick Coghlan <ncoghlan at gmail.com> wrote:
>> It's a huge "quality of implementation" issue, certainly - any
>> installer that doesn't include script generation built in is going to
>> be as annoying as hell to a user. But they do exist (wheel install,
>> for instance) and the resulting installation "works", even if a
>> newcomer would hate it. So it's not "mandatory" in the sense that no
>> functionality is lost. But this is a moot point, as PEP 459 says the
>> python.commands extension SHOULD be marked as required. And wheel
>> install would technically be in violation of PEP 426, as it doesn't
>> handle script wrappers and it doesn't fail when a package needs them
>> (only "technically", because PEP 426 isn't finalised yet, and "wheel
>> install" could be updated to support it).
>
> It's not in violation, that's the whole point of saying SHOULD, rather
> than MUST. Please don't lose that distinction - if users start
> demanding that developers always implement SHOULDs, they're misreading
> the spec, and are going to make life miserable for a lot of people by
> making unreasonable demands on their time.
>
> As a specification author, "SHOULD" is a way for us to say "most users
> are likely to want this, so you should probably do it if you don't
> have a strong preference, but not all users will want it, so certain
> tools may choose not to do it for reasons that are too context
> specific for us to go into in a general purpose specification".
>
> The MUSTs are the "things you may not personally care about, but other
> people do care about, will break if you get this wrong" part of the
> specs, the SHOULDs are "this is probably a good thing to do, but you
> may disagree" :)

Sorry - I missed quoting one relevant bit of PEP 426. What I was
trying to say was that wheel install violates the "MUST" in PEP 426
(that installers MUST support a required extension or report an error
when installing). But Daniel pointed out that I'm wrong anyway - wheel
install *does* support generating script wrappers, using setuptools to
do so. My apologies for not checking my facts more carefully, and for
my confusing wording.

Paul


More information about the Distutils-SIG mailing list