import mysteries

David Abrahams dave at
Wed Jul 4 00:55:20 CEST 2007

on Thu Jun 21 2007, Peter Otten <> wrote:

> David Abrahams wrote:
>> 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?
> Explicitly passed, see

IIRC I ran doctest on the file I cited, not the one you're pointing
at.  Is there some new magic doctest feature I should know about?

>> 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?
> Too vague, sorry.

  # this will succeed if I do it here
  # import

  class X:
        def y():
            import # but this fails

Dave Abrahams
Boost Consulting

The Astoria Seminar ==>

More information about the Python-list mailing list