summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--Doc/library/runpy.rst11
-rw-r--r--Misc/NEWS3
2 files changed, 14 insertions, 0 deletions
diff --git a/Doc/library/runpy.rst b/Doc/library/runpy.rst
index 4df622c..6919bc0 100644
--- a/Doc/library/runpy.rst
+++ b/Doc/library/runpy.rst
@@ -14,6 +14,15 @@ importing them first. Its main use is to implement the :option:`-m` command
line switch that allows scripts to be located using the Python module
namespace rather than the filesystem.
+Note that this is *not* a sandbox module - all code is executed in the
+current process, and any side effects (such as cached imports of other
+modules) will remain in place after the functions have returned.
+
+Furthermore, any functions and classes defined by the executed code are not
+guaranteed to work correctly after a :mod:`runpy` function has returned.
+If that limitation is not acceptable for a given use case, :mod:`importlib`
+is likely to be a more suitable choice than this module.
+
The :mod:`runpy` module provides two functions:
@@ -141,3 +150,5 @@ The :mod:`runpy` module provides two functions:
PEP written and implemented by Nick Coghlan.
:ref:`using-on-general` - CPython command line details
+
+ The :func:`importlib.import_module` function
diff --git a/Misc/NEWS b/Misc/NEWS
index 1b2f4f4..81665e3 100644
--- a/Misc/NEWS
+++ b/Misc/NEWS
@@ -384,6 +384,9 @@ Build
Documentation
-------------
+- Issue #15230: Clearly document some of the limitations of the runpy
+ module and nudge readers towards importlib when appropriate.
+
- Issue #13557: Clarify effect of giving two different namespaces to exec or
execfile().