[Python-Dev] Is raising SystemError during relative import the best solution?

Guido van Rossum guido at python.org
Thu Jan 8 20:33:57 CET 2009

On Thu, Jan 8, 2009 at 11:25 AM, Brett Cannon <brett at python.org> wrote:
> So it turns out that if you try to do a relative import where a parent
> is not loaded, it raises a SystemError. This has been in there since
> Guido added package support back in the day. But this seems more like
> an ImportError than a SystemError to me. My guess is that the original
> purpose was to signify someone specified some relative import name
> without the proper stuff to make the name resolve to what it should
> be. But that to me is still an ImportError as the name came out wrong,
> not that the system did something incorrectly.
> So I would like to propose to remove the SystemError and make it an
> ImportError. Anyone object?

Hm. The SystemError is because this is a logical impossibility -- how
could you be doing an import (relative or otherwise) from P.M when P
is not loaded? It could only happen if somebody has been removing
stuff selectively from sys.modules. Why don't you want this to be a

--Guido van Rossum (home page: http://www.python.org/~guido/)

More information about the Python-Dev mailing list