Setuptools requirements:

We don't have:

In Jython, in some cases the zip_safe check will avoid the marshal.load code path because there won't be any .pyc or .pyos in the package (because jython's distutils compiles .py to $py.class instead). Though there may be cases where Jython installs a .egg that already includes .pycs (they aren't pruned).

Unfortunately setuptools is defaulting zip_safe to True unless proved otherwise (and it won't be proved otherwise no .pycs exist). So even if marshal.load is avoided in some cases, those cases can be incorrectly marked as being zip_safe when they are not.

We'll probably need setuptools patched to just assume zip_safe=False under jython when a package doesn't define it, and to avoid marshal.load completely when scanning for zip_safety under Jython. I'm not sure how to workaround issue #2