Irmen de Jong wrote: > I'm seeing that Python 3.3.0 is not printing the correct ImportError when > it can't import a module that is imported from another module. Instead of > printing the name of the module it can't import, it prints the name of the > module that is doing the faulty import. > > Behold: > I have created: > importfail\ > __init__.py > main.py > sub.py > > > [L:\]type importfail\main.py > from . import sub > > [L:\]type importfail\sub.py > import nonexisting_module > > [L:\] > > > [L:\]c:\Python33\python.exe -m importfail.main > Traceback (most recent call last): > File "C:\Python33\lib\runpy.py", line 160, in _run_module_as_main > "__main__", fname, loader, pkg_name) > File "C:\Python33\lib\runpy.py", line 73, in _run_code > exec(code, run_globals) > File ".\importfail\main.py", line 1, in <module> > from . import sub > ImportError: cannot import name sub # <--- huh ? > > > Python 3.2 and earlier do the right thing: > > [L:\]c:\Python32\python.exe -m importfail.main > Traceback (most recent call last): > File "C:\Python32\lib\runpy.py", line 160, in _run_module_as_main > "__main__", fname, loader, pkg_name) > File "C:\Python32\lib\runpy.py", line 73, in _run_code > exec(code, run_globals) > File "L:\importfail\main.py", line 1, in <module> > from . import sub > File "importfail\sub.py", line 1, in <module> > import nonexisting_module > ImportError: No module named nonexisting_module # <--- ok. > > (this is on windows, but on osx I see the same behavior).
A paragon of clarity -- ye lurkers, this is how a bug report should be. > Is there a problem with the rewritten import logic in Python 3.3? > > Thanks > Irmen de Jong I believe this is fixed, see http://bugs.python.org/issue15111 -- http://mail.python.org/mailman/listinfo/python-list