[Python-Dev] Request for Pronouncement: PEP 441 - Improving Python ZIP Application Support

Paul Moore p.f.moore at gmail.com
Wed Feb 25 18:06:07 CET 2015


On 25 February 2015 at 16:02, Jim J. Jewett <jimjjewett at gmail.com> wrote:
> On 24 February 2015 at 18:58, Guido van Rossum <guido at python.org> wrote:
>> The naming of the functions feels inconsistent -- maybe pack(directory,
>> target) -> create_archive(directory, archive), and set_interpreter() ->
>> copy_archive(archive, new_archive)?
>
>
> Paul Moore wrote:
>> One possible source of confusion with copy_archive (and its command
>> line equivalent "python -m zipapp old.pyz -o new.pyz") is that it
>> isn't technically a copy, as it changes the shebang line (if you omit
>> the interpreter argument it removes the existing shebang).
>
> Is the difference between create and copy important?  e.g., is there
> anything wrong with
>
> create_archive(old_archive, output=new_archive) working as well as
> create_archive(directory, archive)?

Probably not, now. The semantics have converged enough that this might
be reasonable. It's how the command line interface works, after all.
It would mean that the behaviour would be different depending on the
value of the source argument (supplying the main argument and omitting
the target are only valid for create), but again that's how the
command line works.

I'll have a go at implementing this change this evening and see how it
plays out.

Paul


More information about the Python-Dev mailing list