Merge from upstream.
This commit is contained in:
commit
ecdcf84254
|
@ -9,7 +9,8 @@ Type: Standards Track
|
|||
Content-Type: text/x-rst
|
||||
Created: 13-Jun-2011
|
||||
Python-Version: 3.3
|
||||
Post-History: 24-Oct-2011, 28-Oct-2011, 06-Mar-2012
|
||||
Post-History: 24-Oct-2011, 28-Oct-2011, 06-Mar-2012, 24-May-2012
|
||||
Resolution: http://mail.python.org/pipermail/python-dev/2012-May/119668.html
|
||||
|
||||
|
||||
Abstract
|
||||
|
|
24
pep-0420.txt
24
pep-0420.txt
|
@ -4,12 +4,12 @@ Version: $Revision$
|
|||
Last-Modified: $Date$
|
||||
Author: Eric V. Smith <eric@trueblade.com>
|
||||
Status: Accepted
|
||||
Resolution: http://mail.python.org/pipermail/python-dev/2012-May/119651.html
|
||||
Type: Standards Track
|
||||
Content-Type: text/x-rst
|
||||
Created: 19-Apr-2012
|
||||
Python-Version: 3.3
|
||||
Post-History:
|
||||
Resolution: http://mail.python.org/pipermail/python-dev/2012-May/119651.html
|
||||
|
||||
Abstract
|
||||
========
|
||||
|
@ -372,9 +372,11 @@ portion::
|
|||
child
|
||||
three.py
|
||||
|
||||
We add the first two parent paths to ``sys.path``. The third
|
||||
``parent`` portion is added dynamically to ``parent.__path__``, and
|
||||
the third portion is then found when it is imported::
|
||||
We add ``project1`` and ``project2`` to ``sys.path``, then import
|
||||
``parent.child.one`` and ``parent.child.two``. Then we add the
|
||||
``project3`` to ``sys.path`` and when ``parent.child.three`` is
|
||||
imported, ``project3/parent`` is automatically added to
|
||||
``parent.__path__``::
|
||||
|
||||
# add the first two parent paths to sys.path
|
||||
>>> import sys
|
||||
|
@ -400,17 +402,21 @@ the third portion is then found when it is imported::
|
|||
File "<frozen importlib._bootstrap>", line 1250, in _find_and_load_unlocked
|
||||
ImportError: No module named 'parent.child.three'
|
||||
|
||||
# now add the third parent portion to parent.__path__:
|
||||
>>> parent.__path__.append('Lib/test/namespace_pkgs/project3/parent')
|
||||
>>> parent.__path__
|
||||
_NamespacePath(['Lib/test/namespace_pkgs/project1/parent', 'Lib/test/namespace_pkgs/project2/parent', 'Lib/test/namespace_pkgs/project3/parent'])
|
||||
# now add project3 to sys.path:
|
||||
>>> sys.path.append('Lib/test/namespace_pkgs/project3')
|
||||
|
||||
# and now parent.child.three can be imported:
|
||||
>>> import parent.child.three
|
||||
|
||||
# and project3/parent/child has dynamically been added to parent.child.__path__
|
||||
# project3/parent has been added to parent.__path__:
|
||||
>>> parent.__path__
|
||||
_NamespacePath(['Lib/test/namespace_pkgs/project1/parent', 'Lib/test/namespace_pkgs/project2/parent', 'Lib/test/namespace_pkgs/project3/parent'])
|
||||
|
||||
# and project3/parent/child has been added to parent.child.__path__
|
||||
>>> parent.child.__path__
|
||||
_NamespacePath(['Lib/test/namespace_pkgs/project1/parent/child', 'Lib/test/namespace_pkgs/project2/parent/child', 'Lib/test/namespace_pkgs/project3/parent/child'])
|
||||
>>>
|
||||
|
||||
|
||||
|
||||
Discussion
|
||||
|
|
Loading…
Reference in New Issue