py2exe & pyxml

Mike Thompson nonebye-mail
Thu Oct 2 08:23:36 EDT 2003


"Kathleen Kudzma" <kmkstyle at hotmail.com> wrote in message
news:mailman.1063713803.30748.python-list at python.org...
> Does anyone know how to resolve the following problem that I'm getting in
> Python 2.2 and 2.3?
>
> PROBLEM: When I try to create a classReader object I get an exception:
> "SAXReaderNotAvailable: No parsers found".  This only happens when I run the
> .EXE; it does not happen if I run the .PY file.  When I'm running the .EXE
> this exception doesn't happen immediately.  It happens as soon as I try to
> create a classReader object.
>
> Please see the warnings that I get below when I create the .EXE:
>
> >**********
> >>warning: py2exe: * The following modules were not found: warning: py2exe:
> >>*   Carbon.Folder warning: py2exe: *   Carbon.Folders warning: py2exe: *
> >>DateTime warning: py2exe: *   Ft.Lib warning: py2exe: *
> >>Ft.Lib.DumpBgTuple warning: py2exe: *   Ft.__init__ warning: py2exe: *
> >>SOCKS warning: py2exe: *   XPathParserc warning: py2exe: *
> >>ext.IsDOMString warning: py2exe: *   ext.SplitQName warning: py2exe: *
> >>fcntl warning: py2exe: *   ic warning: py2exe: *   mx.DateTime warning:
> >>py2exe: *   rourl2path warning: py2exe: *   xml.xslt warning: py2exe: *
> >>xml.xslt.ParsedPattern warning: py2exe:
> >>***************************************************************
>

Yes, I've just had the same problem -- using py3.2 and py2exe v0.4.2

After spending some time in a debugger following the execution path, I found
out that the module xml.sax.drivers2.drv_pyexpat is the one that is missing.
It gets loaded through a call to  __import__ (see _xmlplus.sax.saxexts.py, line
42) which is why py2exe doesn't pick it up as being necessary.

All of which means it has to be explicitly included in the build.  So, I was
able to solve the problem with the following setup.py command line:

python setup.py py2exe --includes xml.sax.drivers2.drv_pyexpat

I've no idea what Martin was referring to when he said RTFM, because I could
find nothing about this. (Then again, perhaps I'm misunderstanding what he
means by RTFM?)

--
Mike







More information about the Python-list mailing list