[Python-Dev] Re: Christmas Wishlist (original) (raw)

Charles Hixson charleshixsn at earthlink.net
Wed Dec 17 11:55:40 EST 2003


Barry Warsaw wrote:

On Mon, 2003-12-15 at 11:52, Skip Montanaro wrote:

... Sorry, let me rephrase. I'd love to ban relative imports. Personally, I think all imports should be specified using fully-qualified absolute package paths. -Barry If I'm understanding this right you want to ban imports that are machine independant. That can't be right, but that's what it sounds like to me.

To me an "absolute import" or a "fully-qualified absolute package path" sounds like you know the exact directory that the import is occuring from. E.g.:
/home/someone/projects/python/workingprogress/currentproject/thisone.py I can see the use for being able to import that, but usually I would prefer to import either from something relative to the current directory, or relative to the python site-lib, or some such. It's also quite nice to not need to bother to exactly specify just which of those I will find it in. (This is what the pythonpath is for.)

Now to me an import relative to the current directory is a relative import, and I assume that this is also what is meant by a local import.
By allowing files to cluster relative to the code being written one is able to keep related projects and libraries together rather than just having all the code spread out aimlessly in a huge flat directory. I don't see in what what this is inferior.

Since you didn't say why you wanted to ban relative imports, I don't understand your reasons. I can't even guess at them. Even if it were for some efficiency condern about hierarchical directories, that would merely say that the compiled modules should be stuffed into a library folder. (Well, more than one...the user needs to have write permission to the libraries that he creates, but it's just as well that he not have write permissions to the system libraries...without taking special steps.)



More information about the Python-Dev mailing list