import mysteries

David Abrahams dave at boost-consulting.com
Thu Jun 21 16:03:42 EDT 2007


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

  http://genshi.edgewall.org/browser/trunk/genshi/filters/transform.py

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?

TIA,

-- 
Dave Abrahams
Boost Consulting
http://www.boost-consulting.com

The Astoria Seminar ==> http://www.astoriaseminar.com




More information about the Python-list mailing list