New submission from Ethan Glasser-Camp:

I have a library lib. lib/__init__.py does the following:

    from .subdir import a
    from . import a
    import sys

    print(sys.modules['lib.a'])

This code fails with a KeyError. It seems that despite the second line, lib.a 
does not get imported. Printing a.__name__ shows lib.subdir.a. Commenting out 
the first line makes the code work fine, as does moving the code from 
lib/__init__.py to lib/api.py. This happens under both Python 2.7 and Python 
3.3.

Here is my sys.path, sys.meta_path, and sys.path_hooks under Python 2.7:

(['/home/ethan/tmp/import-madness', 
'/home/ethan/tmp/software/notmuch/bindings/python', 
'/home/ethan/local/lib/python2.7/site-packages', '/usr/lib/python2.7', 
'/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk', 
'/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', 
'/home/ethan/.local/lib/python2.7/site-packages', 
'/usr/local/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages', 
'/usr/lib/python2.7/dist-packages/PILcompat', 
'/usr/lib/python2.7/dist-packages/gst-0.10', 
'/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/pymodules/python2.7'], 
[], [<type 'zipimport.zipimporter'>])

The same under Python 3:

['/home/ethan/tmp/import-madness', 
'/home/ethan/local/lib/python2.7/site-packages', '/usr/lib/python3.3', 
'/usr/lib/python3.3/plat-x86_64-linux-gnu', '/usr/lib/python3.3/lib-dynload', 
'/usr/local/lib/python3.3/dist-packages', '/usr/lib/python3/dist-packages'] 
[<class '_frozen_importlib.BuiltinImporter'>, <class 
'_frozen_importlib.FrozenImporter'>, <class '_frozen_importlib.PathFinder'>] 
[<class 'zipimport.zipimporter'>, <function 
FileFinder.path_hook.<locals>.path_hook_for_FileFinder at 0x7f0728babdd0>]

----------
components: Interpreter Core
files: __init__.py
messages: 199320
nosy: ethan.glasser.camp
priority: normal
severity: normal
status: open
title: from relative_module import seems to import wrong module
type: behavior
versions: Python 2.7, Python 3.3
Added file: http://bugs.python.org/file32022/__init__.py

_______________________________________
Python tracker <rep...@bugs.python.org>
<http://bugs.python.org/issue19211>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe: 
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com

Reply via email to