[Python-Dev] relative import circular problem

Guido van Rossum guido at python.org
Thu Apr 4 19:24:34 CEST 2013


Redirecting to python-ideas.

On Thu, Apr 4, 2013 at 9:26 AM, Richard Oudkerk <shibturn at gmail.com> wrote:
> On 04/04/2013 4:17pm, Guido van Rossum wrote:
>>
>> I don't really see what we could change to avoid breaking code in any
>> particular case -- the burden is up to the library to do it right. I
>> don't see a reason to forbid any of this either.
>
>
> How about having a form of relative import which only works for submodules.
> For instance, instead of
>
>     from . import moduleX
>
> write
>
>     import .moduleX
>
> which is currently a SyntaxError.  I think this could be implemented as
>
>     moduleX = importlib.import_module('.moduleX', __package__)

We considered that when relative import was designed and rejected it,
because it violates the expectation that after "import <some string>"
you can use exactly "<some string>" in your code.

--
--Guido van Rossum (python.org/~guido)


More information about the Python-Dev mailing list