On 16 July 2013 14:21, Nick Coghlan <ncoghlan@gmail.com> wrote:
On 16 July 2013 23:08, Paul Moore <p.f.moore@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