On Thu, Mar 28, 2013 at 6:19 PM, Steve Dower <steve.do...@microsoft.com> wrote: > Daniel Holth wrote: >> On Thu, Mar 28, 2013 at 3:49 PM, PJ Eby <p...@telecommunity.com> wrote: >>> On Thu, Mar 28, 2013 at 1:54 PM, Steve Dower <steve.do...@microsoft.com> >>> wrote: >>>> And, I'm almost certain that most if not all existing ZIP tools on >>>> Windows will fail to open files with a shebang, since they've >>>> never had to deal with them. >>> >>> Actually, the opposite is true, at least for 3rd-party (non-Microsoft) >>> archiving tools: they work even when there's a whole .exe file stuck >>> on the front. ;-) >>> >>> Some of them require you to rename from .exe to .zip first, but some >>> actually detect that an .exe is a stub in front of a zip file and give >>> you extraction options in an Explorer right-click. >>> >>> So, no worries on the prepended data front, even if the extension is >>> .zip. What you probably can't safely do is *modify* a .zip with >>> prepended data... and there I'm just guessing, because I've never >>> actually tried. >> >> It will all work. ZIP is cool! Every offset is relative from the end of the >> file. >> >> The wheel distribution even has a ZipFile subclass that lets you pop() files >> off the end by truncating the file and rewriting the index. This will work >> on any ordinary zip file that is just the concatenation of the compressed >> files in zip directory order, without data or extra space between the >> compressed files. > > Ah of course, I totally forgot that it works from the end of the file. > > I'd still rather they got a new extension though, since nobody is going to > teach WinZip what "#! python" means. That's probably an issue for the handful > of Windows devs on python-dev rather than here, though. > > > Cheers, > Steve
WinZip will ignore anything in the front of the file since the zip directory doesn't reference it. The #! shebang is for Unix, would point to the correct Python, and the +x flag would make it executable. The mini PEP is for the .pyz registration and for publicity. _______________________________________________ Distutils-SIG maillist - Distutils-SIG@python.org http://mail.python.org/mailman/listinfo/distutils-sig