[XML-SIG] PyXML, a modest proposal

Martijn Faassen faassen@vet.uu.nl
Mon, 17 Feb 2003 23:54:59 +0100

M.-A. Lemburg wrote:
> Martijn Faassen wrote:
> >  * People trying to install PyXML for a binary version of Zope on Windows.
> >    Binary Zope distributions include their own Python version. This Python
> >    version is not found by PyXML's installer. I hack around this by 
> >    telling people to *unzip the exe file*, and then copy the _xmlplus file
> >    manually to the right place in the Zope distribution.
> This is a general problem with Zope, not PyXML and not distutils.
> Zope for Windows doesn't register its builtin Python version in
> the Windows registry and that's why wininst can't find it.
> The solution (for the benefit of all Zope users on Windows out there)
> would be to have Zope register its Python in the usual way with the
> registry. This would not only solve the problem for PyXML, but also
> for the vast collection of other wininst shipping extensions.

Okay, thanks, I'll take that up with the Zope community. I realized that this
is a problem for Zope on Windows and not so much a PyXML issue.

Anyway, I didn't mean to distract from my main point; I genuinely would like 
to discuss the possibility of packaging PyXML differently. The difficulty of 
installing this on Windows with Zope is not my prime motivation for taking
this up. PyXML's _xmlplus strategy is too confusing, and perfect backwards
compatibility cannot be assured when doing an upgrade anyway, due to the 
issue of bugs and bugfixes, and general minor differences.

I believe this skew is unavoidable without doing far more rigorous testing 
than is done now for PyXML, and while such rigorous testing would be
beneficial for a whole lot of reasons, I don't think we should wait for it to 
happen to fix this, as we could take a long time.

Developers using XML in Python are generally not aware of the way _xmlplus
works, let alone that the people who just deploy Python software understand 
this, and of case of problems (not just on Windows) they do run into this.
This makes distribution a lot harder; instead of just testing with Python
versions or PyXML versions, you have to test against a lot of combinations
between the two, on a number of platforms with a number of different
packaging systems.