On 1/11/2013 1:13 AM, Rick Johnson wrote:
Python's import resolution order is terrible.[1]
The fact that Python looks in the stdlib _first_ is not a good idea.
And the fact is that it does not do so. The order depends on sys.path,
and '' is the first entry.
It would seem more intuitive for a custom "math" module (living in
the current directory) to /override/ the stlib "math" module.
Try it.
This is a nuisance though, when not intended. Someone writes a
random.py, and a year later in the same directory, an unrelated
hopscotch.py, which tries to import random.exponential. The import fails
and they post here, having forgotten about their own random.py, which
does not have such a function. Posts like this happen a few times a year.
--
Terry Jan Reedy
--
http://mail.python.org/mailman/listinfo/python-list