[Python-Dev] New relative import issue
Steve Holden
steve at holdenweb.com
Tue Sep 19 14:40:45 CEST 2006
Greg Ewing wrote:
> Armin Rigo wrote:
>
>
>>My (limited) understanding of the motivation for relative imports is
>>that they are only here as a transitional feature. Fully-absolute
>>imports are the official future.
>
>
> Guido does seem to have a dislike for relative imports,
> but I don't really understand why. The usefulness of
> being able to make a package self-contained and movable
> to another place in the package hierarchy without hacking
> it seems self-evident to me.
>
> What's happening in Py3k? Will relative imports still
> exist?
>
>
>>there
>>is no clean way from a test module 'foo.bar.test.test_hello' to import
>>'foo.bar.hello': the top-level directory must first be inserted into
>>sys.path magically.
>
>
> I've felt for a long time that problems like this
> wouldn't arise so much if there were a closer
> connection between the package hierarchy and the
> file system structure. There really shouldn't be
> any such thing as sys.path -- the view that any
> given module has of the package namespace should
> depend only on where it is, not on the history of
> how it came to be invoked.
>
This does, of course, assume that you're importing modules from the
filestore, which assumption is no longer valid in the presence of PEP
302 importers.
The current initialization code actually looks for os.py as a means of
establishing path elements. This should really be better integrated with
the PEP 302 mechanism: ideally Python should work on systems that don't
rely on filestore for import (even though for the foreseeable future all
systems will continue to do this).
regards
Steve
--
Steve Holden +44 150 684 7255 +1 800 494 3119
Holden Web LLC/Ltd http://www.holdenweb.com
Skype: holdenweb http://holdenweb.blogspot.com
Recent Ramblings http://del.icio.us/steve.holden
More information about the Python-Dev
mailing list