From a3d1cac4b21ffbd8deed0c28f08bed4afa5e7b83 Mon Sep 17 00:00:00 2001 From: Nick Coghlan Date: Sun, 15 Jul 2012 00:36:39 +1000 Subject: Issue #15230: Update runpy docs to clarify a couple of points that came up in this issue --- Doc/library/runpy.rst | 11 +++++++++++ Misc/NEWS | 3 +++ 2 files changed, 14 insertions(+) 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(). -- cgit v0.12