Hey folks,

I hope this is the right list for this sort of thing (python-ideas seemed
more far-fetched).

For some context: there is currently a issue with pex that causes
sys.modules lookups to stop working for __main__. In turns this makes
unittest.run() & pkg_resources.resource_* fail. The root cause is that pex
uses runpy.run_module with alter_sys=False. The fix should be to just pass
alter_sys=True, but that changes sys.argv[0] and various existing pex files
depend on that being the pex file. You can read more at
https://github.com/pantsbuild/pex/pull/211 .

Conservatively, I'd like to propose adding an argument to disable this
behavior. The current behavior breaks a somewhat reasonable invariant that
you can restart your program via `os.execv([sys.executable] + sys.argv)`.
Moreover it might be user-friendly to add a `argv=sys.argv[1:]` argument to
set & restore the full arguments to the module, where `argv=None` disables
argv[0] switching.

What do you think?

Mike.
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to