[New-bugs-announce] [issue17108] import silently prefers package over module when both available
Shai Berger
report at bugs.python.org
Sat Feb 2 23:41:08 CET 2013
New submission from Shai Berger:
Consider the following directory structure:
a-\
__init__.py
b.py
b-|
__init__.py
Now, in Python (I checked 2.7.3 and 3.2.3, haven't seen the issue mentioned anywhere so I suspect it is also in later Pythons), if you import a.b, you always get the package (that is, the b folder), and the module (b.py) is silently ignored. I tested by putting the line """print("I'm a package")""" in a/b/__init__.py and """print("I'm a module")""" in a/b.py.
This becomes a real problem with tools which find modules dynamically, like test harnesses.
I'd expect that in such cases, Python should "avoid the temptation to guess", and raise an ImportError.
Thanks, Shai.
----------
components: Interpreter Core
messages: 181225
nosy: shai
priority: normal
severity: normal
status: open
title: import silently prefers package over module when both available
type: behavior
versions: Python 2.7, Python 3.2
_______________________________________
Python tracker <report at bugs.python.org>
<http://bugs.python.org/issue17108>
_______________________________________
More information about the New-bugs-announce
mailing list