[Zope] zope2.4 Win32 product upgrades: DynPersist, ParsedXML

Reini Urban rurban@x-ray.at
Tue, 24 Jul 2001 21:37:40 +0100


On linux upgrading was no problem at all.
But windows causes headaches, cause I only have/(had) the ActiveState+Zope
binary install.
ActivePython is more complete than the python binaries which came with zope.

MySQLdb for Win does fine.

Anybody has the actual version for DynPersist.dll (for ZPatterns)?
Anyhow, just grabbed the ActivePython src tree and I'll do it by myself now.

ParsedXML also broke, though there's a good pyexpat.pyd in the PYTHONPATH.
But I fixed that, plus a whole lotta different products also.
I'll send a huge patch in another mail (PageTemplates, Xron, EMarket), 
mainly fixing 
from Globals import DateTime to from DateTime.DateTime import DateTime
and getting rid of expr_globals in Eval.

ParsedXML-1.1b1-win32-x86.zip was not updated for python 2.1. 
The whole Product loader seems to be very complicated. 
Even if the dynamic libs are in the path, it doesn't load.
Now that karl doesn't work anymore for DC ...

------
2001-07-24T17:26:16 ERROR(200) Zope Couldn't install ParsedXML
Traceback (innermost last):
  File R:\zope\lib\python\OFS\Application.py, line 657, in install_product
    (Object: ApplicationDefaultPermissions)
    (Info: ParsedXML)
  File R:\zope\Products\ParsedXML\__init__.py, line 91, in initialize
  File R:\zope\Products\ParsedXML\ParsedXML.py, line 96, in ?
  File R:\zope\Products\ParsedXML\ManageableDOM.py, line 99, in ?
  File R:\zope\Products\ParsedXML\ExtraDOM.py, line 90, in ?
  File R:\zope\Products\ParsedXML\DOM\ExpatBuilder.py, line 115, in ?
    (Object: Products.ParsedXML.DOM.XMLExtended)
ImportError: cannot import name pyexpat

[r:\zope\products\parsedxml]test\domtester.py
Traceback (most recent call last):
  File "R:\ZOPE\PRODUCTS\PARSEDXML\TEST\DOMTESTER.PY", line 257, in ?
    main()
  File "R:\ZOPE\PRODUCTS\PARSEDXML\TEST\DOMTESTER.PY", line 163, in main
    if run_tests(impls_to_test, impls_to_exclude):
  File "R:\ZOPE\PRODUCTS\PARSEDXML\TEST\DOMTESTER.PY", line 196, in
run_tests_text
    testSuite = load_suite(filename)
  File "R:\ZOPE\PRODUCTS\PARSEDXML\TEST\DOMTESTER.PY", line 209, in load_suite
    module = imp.load_module(filename, file, pathname, desc)
  File "R:\ZOPE\Products\ParsedXML\test\test_dom.py", line 88, in ?
    from Products.ParsedXML.DOM import ExpatBuilder
  File "R:\zope\Products\ParsedXML\DOM\ExpatBuilder.py", line 115, in ?
    from Products.ParsedXML.Expat import pyexpat
ImportError: No module named Expat

So I had to copy the dll's to Products\ParsedXML\Expat

SET PY=w:\Python21
cd r:\zope\Products\ParsedXML\Expat
copy %PY%\DLLs\pyexpat.dll Expat\
copy %PY%\DLLs\xml*.dll Expat\

How to do that better?
-- 
Reini Urban
http://xarch.tu-graz.ac.at/home/rurban/