On Fri, Jan 31, 2014 at 3:52 PM, Vinay Sajip <vinay_sajip@yahoo.co.uk> wrote:
Thanks for the info.
For practical reasons we've always needed "not zip-safe" PEX files where all code is written to disk prior to execution (ex: legacy Django applications that have __file__-relative business logic) so we decided to just throw away the magical zipimport stuff and embrace using disk as a pure cache.
I take it this is because of dependencies (whether your own legacy code or external dependencies) that haven't been designed to run from zip, and where it's not worth it (or otherwise not possible) to re-engineer to run from zip? If there were other reasons (apart from the need to maintain the magic machinery, or problems with it), can you say what they were?
Also, is your production usage confined to POSIX platforms, or does Windows have any role to play? If so, did you run into any particular issues relating to Windows that might not be common knowledge?
I certainly find single-file executables containing Python code a boon and hope they play a bigger part in how Python software is distributed. I will be looking into PEX for some good ideas :-)
Regards,
Vinay Sajip
PEP 441 is mostly about promoting the idea of archives with a #! module and giving them an extension. It is neat to be aware of PEX and look forward to some better tooling.