[Python-Dev] Re: PEP 328 -- relative and multi-line import (original) (raw)

Bill Janssen janssen at parc.com
Wed Apr 7 21:33:10 EDT 2004


I really wish I'd been paying more attention to 328, which I've just read. This proposal seems to break lots and lots and lots of existing code. Maybe I'm reading it wrong.

I've written many, many packages that use the form

 import foo

where "foo" is a sibling module in the package. Or

  from foo import bar

where, again, foo is a sibling to the current module. Packages that work like this have been submitted to on-line libraries, printed in books, etc., etc., etc.

I really hope I'm reading the PEP wrong! Am I correct in thinking that come Python 2.4 or 2.5, these will just break if the package isn't at the top level (reachable from sys.path)?

I was thinking (some months ago) that y'all would come up with an absolute form instead, something like

  from / import os

or

  import /os

or

  import /email.Message

and a relative form like

  from foo import bar

to do fuzzy and imperfect matching of the module (what we have now), or

  from ./foo import bar

to do more explicit matching of siblings, or

  from ../baz.foo import bar

or

  from -/baz.foo import bar

to go up a level. And that the fuzzy and imperfect form would be eventually deprecated, but never removed.

Bill



More information about the Python-Dev mailing list