[Python-checkins] cpython (3.3): Emphasize that people should not override __import__.
brett.cannon
python-checkins at python.org
Fri Aug 23 17:00:12 CEST 2013
http://hg.python.org/cpython/rev/7506a072ebdb
changeset: 85335:7506a072ebdb
branch: 3.3
parent: 85332:8927d15c0785
user: Brett Cannon <brett at python.org>
date: Fri Aug 23 10:58:49 2013 -0400
summary:
Emphasize that people should not override __import__.
With importlib getting used more and more, changing __import__ will
not work as well as people used to hope as it will potentially bypass
importers, etc. It also will not work with importlib.import_module()
as it uses "importlib.__import__" (i.e. importlib's implementation of
import) directly and not builtins.__import__.
files:
Doc/library/functions.rst | 9 +++++----
1 files changed, 5 insertions(+), 4 deletions(-)
diff --git a/Doc/library/functions.rst b/Doc/library/functions.rst
--- a/Doc/library/functions.rst
+++ b/Doc/library/functions.rst
@@ -1451,10 +1451,11 @@
This function is invoked by the :keyword:`import` statement. It can be
replaced (by importing the :mod:`builtins` module and assigning to
``builtins.__import__``) in order to change semantics of the
- :keyword:`import` statement, but nowadays it is usually simpler to use import
- hooks (see :pep:`302`) to attain the same goals. Direct use of
- :func:`__import__` is entirely discouraged in favor of
- :func:`importlib.import_module`.
+ :keyword:`import` statement, but doing so is **strongly** discouraged as it
+ is usually simpler to use import hooks (see :pep:`302`) to attain the same
+ goals and does not cause issues with code which assumes the default import
+ implementation is in use. Direct use of :func:`__import__` is also
+ discouraged in favor of :func:`importlib.import_module`.
The function imports the module *name*, potentially using the given *globals*
and *locals* to determine how to interpret the name in a package context.
--
Repository URL: http://hg.python.org/cpython
More information about the Python-checkins
mailing list