import mysteries

David Abrahams dave at
Thu Jun 21 22:03:42 CEST 2007

I'm pretty comfortable with Python, but recently I'm constantly
finding mysterious issues with import.  For example, looking at

the examples use the symbol 'HTML' but it's not defined locally, it's
not explicitly imported, and there's no import *.  Yet doctest will
test this module and it passes with flying colors.  It turns out HTML
is defined in genshi.input.  How do I know that?  I grepped for it.
How does it become available to this module?

Another example: I was recently working on some code that did an
import from inside a class method.  That import was failing.  I moved
the import to the top of the file (at module scope) and it succeeded.
I'm fairly sure that nobody was monkeying around with sys.path in that
case.  Can anyone think of a likely explanation?


Dave Abrahams
Boost Consulting

The Astoria Seminar ==>

More information about the Python-list mailing list