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

Reply via email to