[New-bugs-announce] [issue7902] relative import broken

ganges master report at bugs.python.org
Wed Feb 10 20:09:23 CET 2010

New submission from ganges master <gangesmaster at users.sourceforge.net>:

the relative-import mechanism is broken... at least on python2.6 but i'd guess on later versions as well.

consider this package layout:

where bar.py is:
    # note this is a relative import and should fail!
    from .os import walk
    print walk
    # and this should also fail
    from . import os
    print os

running it yields a bug:

$ PYTHONPATH="/tmp" python
Python 2.6.4 (r264:75706, Dec  7 2009, 18:45:15) 
[GCC 4.4.1] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import foo.bar
<function walk at 0xb7d2aa04>  # <<<< ?!?!
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/tmp/foo/bar.py", line 4, in <module>
    from . import os
ImportError: cannot import name os

"from . import os" fails as expected, but "from .os import walk" works -- although it should obviously fail too.


components: Interpreter Core
files: bar.py
messages: 99176
nosy: gangesmaster
severity: normal
status: open
title: relative import broken
versions: Python 2.6
Added file: http://bugs.python.org/file16201/bar.py

Python tracker <report at bugs.python.org>

More information about the New-bugs-announce mailing list