On 7/16/2013 7:40 AM, Nick Coghlan wrote:
PEP 8 advises developers to use absolute imports rather than explicit
relative imports.

Why? Using absolute imports couple the internal implementation of a
package to its public name - you can't just change the top level
directory name any more, you have to go through and change all the
absolute imports as well. You also can't easily vendor a package that
uses absolute imports inside another project either, since all the
absolute imports will break.

What's the *concrete* benefit of using absolute imports that overcomes
these significant shortcomings in maintainability and composability?

From my viewpoint, absolute imports always work, on all python versions, whereas people have reported various problems with relative imports on python-list. At least some of the complaints were valid, at least at the time, but I have not paid too much attention.

Even if idlelib files used relative imports, 'idlelib' cannot change and I see no reason to ever change 'idle_test'. I would like to change camelCaseFileNames.py, but if ever done, that would affect both types of imports.

--
Terry Jan Reedy

_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
http://mail.python.org/mailman/listinfo/python-dev
Unsubscribe: 
http://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com

Reply via email to