On Friday, January 11, 2013 7:35:37 AM UTC-6, Terry Reedy wrote: > On 1/11/2013 1:13 AM, Rick Johnson wrote: > > 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. > > 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.
That's why i also mentioned the failure of Python to wrap stdlib modules in a package. If we would protect all built-in modules by placing them in a package (lib or py) then this problem would never happen. Of course many people will piss and moan about the extra typing. I say, you have a choice: a few extra chars or multitudes of extra headaches -- I choose the first option. Since more time is spent /maintaining/ code bases than /writing/ them, the explicit path is always the correct path to choose. Anyone who says otherwise is either careless or selfish (aka: seeking job security). -- http://mail.python.org/mailman/listinfo/python-list