[EMAIL PROTECTED] writes: > from . import * > from .sibiling import * > from .. import * > from ..parent_sibling import * > > ...and so on. The same error occurs: > SyntaxError: 'import *' not allowed with 'from .'
Interesting. I know that 'from foo import *' is frowned on and is generally worse than importing names explicitly, but I wasn't aware that it was officialy deprecated. The PEP introducing absolute and relative imports <URL:http://www.python.org/dev/peps/pep-0328/> doesn't mention it, except as a friendly "import * is *not* an option :-)" aside. > Why would it not let me import * from a relative module at all? I > read that they're planning to make absolute imports the default, so > I'd think that this sort of thing would become more common in the > future. I'd also like to know when this changed,and where it's documented. While waiting, you should take it as an opportunity to remove the blight of "from foo import *". All imports should explicitly import names, not implicitly clobber the current namespace with whatever pops out. Depending on the reason for the import, do one of the following: from foo import bar, baz, boris do_stuff_with(baz) import foo do_stuff_with(foo.baz) import uncomfortably_long_name as foo do_stuff_with(foo.baz) All of these preserve the valuable trait of being able to trace, by reading the program, the origin of every name in the current namespace. -- \ "I hope if dogs ever take over the world, and they chose a | `\ king, they don't just go by size, because I bet there are some | _o__) Chihuahuas with some good ideas." -- Jack Handey | Ben Finney -- http://mail.python.org/mailman/listinfo/python-list