True
-.. function:: __import__(name, globals={}, locals={}, fromlist=[], level=0)
+.. function:: __import__(name, globals={}, locals={}, fromlist=[], level=-1)
.. index::
statement: import
not use its *locals* argument at all, and uses its *globals* only to
determine the package context of the :keyword:`import` statement.
- *level* specifies whether to use absolute or relative imports. ``0`` (the
- default) means only perform absolute imports. Positive values for
- *level* indicate the number of parent directories to search relative to the
- directory of the module calling :func:`__import__`.
+ *level* specifies whether to use absolute or relative imports. ``0``
+ means only perform absolute imports. Positive values for *level* indicate the
+ number of parent directories to search relative to the directory of the
+ module calling :func:`__import__`. Negative values attempt both an implicit
+ relative import and an absolute import (usage of negative values for *level*
+ are strongly discouraged as future versions of Python do not support such
+ values). Import statements only use values of 0 or greater.
When the *name* variable is of the form ``package.module``, normally, the
top-level package (the name up till the first dot) is returned, *not* the
Documentation
-------------
+- Issue 15482: Properly document the default 'level' value for __import__()
+ while warning about using negative values.
+
- Issue #15230: Clearly document some of the limitations of the runpy
module and nudge readers towards importlib when appropriate.