Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > comp.lang.python > #21299 > unrolled thread

Why this recursive import fails?

Started byINADA Naoki <songofacandy@gmail.com>
First post2012-03-06 18:47 -0800
Last post2012-03-07 00:28 -0800
Articles 2 — 1 participant

Back to article view | Back to comp.lang.python


Contents

  Why this recursive import fails? INADA Naoki <songofacandy@gmail.com> - 2012-03-06 18:47 -0800
    Re: Why this recursive import fails? INADA Naoki <songofacandy@gmail.com> - 2012-03-07 00:28 -0800

#21299 — Why this recursive import fails?

FromINADA Naoki <songofacandy@gmail.com>
Date2012-03-06 18:47 -0800
SubjectWhy this recursive import fails?
Message-ID<2509610.10.1331088445839.JavaMail.geo-discussion-forums@pbcpw7>
I have 4 py files like below. Two __init__.py is empty file.

$ find foo -name "*.py"
foo/lib/lib.py
foo/lib/__init__.py
foo/__init__.py
foo/foo.py

$ cat foo/lib/lib.py
from __future__ import absolute_import
print('lib.py', __name__)
from .. import foo
#import foo.foo

$ cat foo/foo.py
from __future__ import absolute_import
print('foo.py', __name__)
from .lib import lib
#import foo.lib.lib

Then, importing foo.foo or foo.lib.lib fails unexpectedly.

# `from .. import foo` success but `from .lib import lib` fails.
$ python -c "import foo.lib.lib"
('lib.py', 'foo.lib.lib')
('foo.py', 'foo.foo')
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "foo/lib/lib.py", line 3, in <module>
    from .. import foo
  File "foo/foo.py", line 3, in <module>
    from .lib import lib
ImportError: cannot import name lib

# `from .lib import lib` success but `from .. import foo` fails.
$ python -c "import foo.foo"
('foo.py', 'foo.foo')
('lib.py', 'foo.lib.lib')
Traceback (most recent call last):
  File "<string>", line 1, in <module>
  File "foo/foo.py", line 3, in <module>
    from .lib import lib
  File "foo/lib/lib.py", line 3, in <module>
    from .. import foo
ImportError: cannot import name foo


I can run both with absolute import.
What's wrong about my relative import?

[toc] | [next] | [standalone]


#21309

FromINADA Naoki <songofacandy@gmail.com>
Date2012-03-07 00:28 -0800
Message-ID<2133223.6.1331108933985.JavaMail.geo-discussion-forums@pbnt10>
In reply to#21299
I found it is a bug http://bugs.python.org/issue13187

[toc] | [prev] | [standalone]


Back to top | Article view | comp.lang.python


csiph-web