Velocity Reviews

Velocity Reviews (http://www.velocityreviews.com/forums/index.php)
-   Python (http://www.velocityreviews.com/forums/f43-python.html)
-   -   wrong ImportError message printed by python3.3 when it can't finda module? (http://www.velocityreviews.com/forums/t955253-wrong-importerror-message-printed-by-python3-3-when-it-cant-finda-module.html)

Irmen de Jong 12-07-2012 08:46 PM

wrong ImportError message printed by python3.3 when it can't finda module?
 
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

Peter Otten 12-07-2012 09:20 PM

Re: wrong ImportError message printed by python3.3 when it can't finda module?
 
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




Irmen de Jong 12-07-2012 10:23 PM

Re: wrong ImportError message printed by python3.3 when it can'tfind a module?
 
On 7-12-2012 22:20, Peter Otten wrote:

> 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


Argh, why didn't I search the bug tracker first: I would have found that one for sure.
Anyway, thanks for pointing it out.

The bug is confusing but it doesn't break anything so far. I guess I'll be fine waiting
for 3.3.1.


Irmen



All times are GMT. The time now is 12:39 AM.

Powered by vBulletin®. Copyright ©2000 - 2014, vBulletin Solutions, Inc.
SEO by vBSEO ©2010, Crawlability, Inc.