Brett Cannon added the comment:
It is an abuse since I didn't design that part of the API to function that way,
but it's cool that it just happens to. =)
I do see your use-case and it is legitimate, although extremely rare and
narrow. Let me think about whether I want to add specific support either
through your approach, Richard, or if I want to decouple the setting of module
attributes so that it is more along the lines of::
main_module = imp.new_module('__mp_main__')
loader.set_attributes(main_module) # BRAND-NEW; maybe private to the stdlib?
main_module.__name__ = '__mp_main__'
code_object = loader.get_code(main_name)
sys.modules['__main__'] = sys.modules['__mp_main__'] = main_module # OLD
exec(code_object, main_module.__dict__)
I'm currently leaning towards the latter option since it's an annoying bit to
get right and it doesn't hurt anything to expose.
----------
assignee: sbt -> brett.cannon
_______________________________________
Python tracker <[email protected]>
<http://bugs.python.org/issue17314>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
http://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com