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 <[email protected]>
<http://bugs.python.org/issue19211>
_______________________________________
_______________________________________________
Python-bugs-list mailing list
Unsubscribe:
https://mail.python.org/mailman/options/python-bugs-list/archive%40mail-archive.com