Import collisions (was Re: "from module import data; print(data)")
rosuav at gmail.com
Wed Feb 24 20:19:20 EST 2016
On Thu, Feb 25, 2016 at 12:07 PM, Dan Stromberg <drsalists at gmail.com> wrote:
> PS: Haskell seems better at the former than Python; Haskell tells you
> if you import two identical symbols from two different places, when
> you try to use one of them - not at import time. I believe in Python,
> whichever symbol you import last, wins. Haskell does not warn you at
> import time, which is fine. Not sure about OCaml or whatever else.
In a sense, it's not the two imports that matter, but the situation
that the second import statement is rebinding a name. Would it be
possible to create a "mollyguard" import hook that snoops the globals
of the importing module and raises an ImportWarning if it detects a
Not that I've ever been in the situation of wanting one, but just as a
point of intellectual curiosity.
More information about the Python-list