Nick Coghlan added the comment:

Ah, I think I understand the problem you're getting at now:

* if the parent package is missing entirely, we still want to suppress the 
traceback by throwing the runpy specific exception
* if the parent package is present, but one of the modules *that* tries to 
import is missing (or otherwise doesn't load), we want to let the traceback 
happen normally

The exception handler in the new code snippet addresses that by checking the 
name attribute on the ImportError, but could likely use a comment explaining 
the subtlety.

The way you've handled checking the result of the rpartition call also 
highlights a deficiency in the runpy docs, and likely also the test suite as 
well: runpy.run_module and the -m switch only work with absolute module names, 
but this isn't stated explicitly in the documentation, nor is there any early 
check in _get_module_details() to bail out if given a relative module name.

----------

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue14285>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to