From: Nick Coghlan Date: Sat, 14 Jul 2012 14:36:39 +0000 (+1000) Subject: Issue #15230: Update runpy docs to clarify a couple of points that came up in this... X-Git-Tag: v3.3.0b2~218^2 X-Git-Url: http://git.ipfire.org/gitweb.cgi?a=commitdiff_plain;h=a3d1cac4b21ffbd8deed0c28f08bed4afa5e7b83;p=thirdparty%2FPython%2Fcpython.git Issue #15230: Update runpy docs to clarify a couple of points that came up in this issue --- diff --git a/Doc/library/runpy.rst b/Doc/library/runpy.rst index 4df622cb1f88..6919bc0c37b7 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 1b2f4f41eb65..81665e39da05 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().