[Distutils] Wheels and console script entry point wrappers (Was: Replacing pip.exe with a Python script)

Paul Moore p.f.moore at gmail.com
Tue Jul 16 15:29:01 CEST 2013


On 16 July 2013 14:21, Nick Coghlan <ncoghlan at gmail.com> wrote:

> On 16 July 2013 23:08, Paul Moore <p.f.moore at gmail.com> wrote:
> > Nick: See the above point re PEP 426 - do you agree that this needs
> > addressing in Metadata 2.0?
>
> I believe Daniel already covered it in PEP 427 - rather than baking
> the entry point wrappers into the wheel, installers can generate any
> needed entry point wrappers if the wheel includes Python scripts in
> {distribution}-{version}.data/scripts/ (see
> http://www.python.org/dev/peps/pep-0427/#recommended-installer-features)
>
> Now, there may be holes in that scheme, but it seemed solid enough
> when I approved the PEP.
>

The big problem is that implementations don't do that :-( AFAIK, none of
distlib, pip or wheel itself do anything with script wrappers except
rewrite #! lines (which is the other, much easier, item in that section).

At the moment, bdist_wheel just puts the exe wrappers generated from the
source into the wheel itself, which again is probably wrong in the context
what the PEP suggests.

As I said in my other email, I think this is subtle enough that we need a
stdlib implementation to stop people making mistakes like this. It's
certainly not fair to expect a mostly-Unix development team to get this
sort of Windows arcana right without some help.

Paul
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/distutils-sig/attachments/20130716/67b94aac/attachment.html>


More information about the Distutils-SIG mailing list