[Python-Dev] PEP 328: __path__

Guido van Rossum guido at python.org
Sun Apr 4 12:43:26 EDT 2004


> I just realized that the new relative import semantics are likely to
> interact oddly with uses of ``__path__``.  I therefore suggest that the
> following text be added to PEP 328, although I'm perfectly happy to
> adopt some other course:
> 
> Between the addition of ``as`` in Python 2.0 and the new syntax &
> semantics for ``import``, there is no longer a need for ``__path__``, and
> it is now officially deprecated.  In Python 2.4 and 2.5, changing
> ``__path__`` raises ``PendingDeprecationWarning``.  In Python 2.6,
> ``__path__`` becomes a read-only attribute.  In the presence of
> ``absolute_import`` or with a relative import, ``__path__`` is ignored.

Uh?  Maybe you should have some coffee and then try again.

__path__ has nothing to do with relative import.  When I say
"import foo.bar" then bar is searched for in foo.__path__.  __path__
defines which directories comprise the package contents, nothing more
or less.

--Guido van Rossum (home page: http://www.python.org/~guido/)



More information about the Python-Dev mailing list