[Python-Dev] PEP 328: __path__
aahz at pythoncraft.com
Sun Apr 4 15:57:56 EDT 2004
On Sun, Apr 04, 2004, Guido van Rossum wrote:
>> 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.
Don't drink coffee, remember? ;-)
> __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.
Yeah, I know; I think that ``as`` combined with relative imports can
obviate most uses for ``__path__``, but I'm now dealing with a family
emergency, so I'm going to just drop it.
Aahz (aahz at pythoncraft.com) <*> http://www.pythoncraft.com/
"usenet imitates usenet" --Darkhawk
More information about the Python-Dev