New submission from Wolfgang Maier:

As a result of Issue14285 Python 3.5.2 now imports packages in runpy. 
_get_module_details before calling importlib.util.find_spec.

Although I'm not sure how important this is, I wanted to report that this new 
behaviour can have a side-effect under pretty exotic circumstances. When 
__init__.py imports the same module that is supposed to be invoked via the -m 
switch and that module replaces its own entry in sys.modules with another 
object, this causes importlib.util.find_spec to fail with a *very* cryptic:

Error while finding spec for 'package.module' (ValueError: 
package.module.__spec__ is not set)

without an exception traceback.

I have no idea whether any other package would be affected by this, but it took 
me quite some time today to trace the cause of this and it is not what you'd 
expect from a maintenance release. I think the changed behaviour in runpy 
should at least be documented (beyond just mentioning the issue in the 
changelog).

----------
components: Library (Lib)
messages: 270202
nosy: martin.panter, ncoghlan, wolma
priority: normal
severity: normal
status: open
title: -m switch regression in Python 3.5.2 (under rare circumstances)
type: behavior
versions: Python 3.5

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

Reply via email to