Hi, 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). Is there a problem with the rewritten import logic in Python 3.3? Thanks Irmen de Jong -- http://mail.python.org/mailman/listinfo/python-list