On Thu, Feb 24, 2011 at 9:13 AM, Barry Warsaw <barry@python.org> wrote:
On Feb 18, 2011, at 12:36 PM, Brett Cannon wrote:
It says they are "highly discouraged" because "absolute imports are more portable and usually more readable", but now that people have had a chance to use explicit relative imports, do people still believe this? I mean if we truly believed this then why did we add the syntax? I know I have used it and love it, let alone that I don't buy the portability argument.
I agree with others that explicit relative imports should still be discouraged. I've run into problems with them where imports break under some situations. I don't remember the details, but I think it was when running unittests or under -m or something. Yeah, I should file a bug next time I run into it.
/me points to PEP 366
Relative imports and __main__ modules inside packages did *not* play nicely with each other at all for a while there.However, as far as I am aware, the only time you get in trouble now is when you run scripts inside packages directly (rather than via -m), but that causes trouble for multiple reasons, not just broken relative imports. If there are other cases that still have issues, I'd definitely like to hear about them.
Cheers, Nick.
-- Nick Coghlan | ncoghlan@gmail.com | Brisbane, Australia