[Python-Dev] Why does PEP 8 advise against explicit relative imports?

Nick Coghlan ncoghlan at gmail.com
Tue Jul 16 13:40:00 CEST 2013


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?

Regards,
Nick.

--
Nick Coghlan   |   ncoghlan at gmail.com   |   Brisbane, Australia


More information about the Python-Dev mailing list