[Python-Dev] intra-package mutual imports fail: "from <pkg>
import <mod>"
Matthias Urlichs
smurf@noris.de
Sun, 2 Jun 2002 06:04:59 +0200
> module5.py:
> from package import module6 # absolute import
>
> module6.py:
> from package import module5
> [...]
> ImportError: cannot import name module5
>
> Is this behavior expected? Or is it a bug?
The problem is that importing with from consists of two steps:
- load the module
- add the imported names to the local namespace
Since this addition is by reference to the actual object and not to
the symbol's name in the other module, a concept which Python doesn't
have (use Perl if you want this...), your recursive import doesn't
work.
The solution would be:
import package.module6 as module6
which should have the same effect.
--
Matthias Urlichs