[Python-Dev] Relative import (original) (raw)

Guido van Rossum guido at python.org
Wed Dec 17 21:02:33 EST 2003


The main use I have in mind for scan-upwards is for when you're importing something that's not part of your package. It's probably top-level, but someone might want to put you and it into a package one day, so you shouldn't hard-wire a top-level reference to it.

You could hardwire a relative reference to it though.

That's why I think scan-upwards should be the default -- because you never know when someone might want to repackage you into a different environment in the future.

I don't know if I want to encourage this kind of repackaging. There are various downsides (such as possible deployment of two differently repackaged versions of the same code) and I think some of the burden should be placed on the repackager. After all, after repackaging, the repackager is really responsible for the repackaged code.

The nice thing about absolute imports is that it's very simple to write a tool that changes all absolute imports of a given package into some other import, if you really want that.

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



More information about the Python-Dev mailing list