<html>
<head>
</head>
<body style="margin-right: 4px; margin-top: 4px; line-height: normal; margin-bottom: 1px; font-variant: normal; margin-left: 4px">
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Hi list</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">We have a legacy web service that is running on Zope 2.6.2 with Python 2.3.3</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">For various reasons - security, maintenance etc we have decide to try migrating this forward to a current version of python and zope. </font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">e.g. Python 2.6 + Zope 2.12.2 </font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">I have a new clean SUSE linux 11 installation with the correct python, setuptools and I am using virtualenv to create a sandbox</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">I have installed the zope 2.12.2 and configured it in much the same way as the older system - (zeo with two data files, + 1 zope instance.)</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">All is good and I can start up the instance and access the management pages.</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">My next step is to get the Products list that we were using running. Here I have run into two problems</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">1. ExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">This fails to load with the error 'ImportError: No module named Interface' (stack trace below)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">I tested this with zope 2.11.4 and it works ok.</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2. ZMySQLDA</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">This fails with the message 'ImportError: No module named _mysql'</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">again this works ok on zope 2.11.4</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">So I guess there is a key step that I am missing out or a path, or installation that is required.</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">The main difference is that 2.12 is installed using virtualenv and then easy_install</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">e.g. bin/easy_install -i </font><i><font face="Helvetica Neue" color="#0000ff" size="3"><a href="http://download.zope.org/Zope2/index/2.12.2"><u>http://download.zope.org/Zope2/index/2.12.2</u></a></font></i><font face="Helvetica Neue" size="3"> Zope2</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Are there known incompatabilities with these Products ? or is my installation just not quite right.</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Thanks Andrew</font> </p>
<br> <br><br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">stack trace for loading ExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">{code}</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/bin # ./zopectl fg</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/bin/runzope -X debug-mode=on</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 14:28:22 INFO ZServer HTTP server started at Thu Mar 11 14:28:22 2010</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Hostname: 0.0.0.0</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Port: 8080</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 14:28:22 INFO ZServer FTP server started at Thu Mar 11 14:28:22 2010</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Hostname: 0.0.0.0</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Port: 8021</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 14:28:22 INFO Zope Set effective user to "zope"</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/ExternalFile/ExternalFile.py:21: DeprecationWarning: MessageDialog is deprecated. import from App.Dialogs instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import MessageDialog</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 14:28:22 ERROR Application Could not import Products.ExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Traceback (most recent call last):</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/OFS/Application.py", line 596, in import_product</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> product=__import__(pname, global_dict, global_dict, silly)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ExternalFile/__init__.py", line 18, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from ExternalFile import manage_addExternalFileForm, addExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ExternalFile/ExternalFile.py", line 36, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from IExternalFile import IExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ExternalFile/IExternalFile.py", line 16, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Interface import Base</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">ImportError: No module named Interface</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Traceback (most recent call last):</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/bin/runzope", line 8, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> load_entry_point('Zope2==2.12.2', 'console_scripts', 'runzope')()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/Startup/run.py", line 21, in run</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> starter.prepare()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/Startup/__init__.py", line 87, in prepare</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> self.startZope()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/Startup/__init__.py", line 264, in startZope</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> Zope2.startup()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/__init__.py", line 47, in startup</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> _startup()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/App/startup.py", line 58, in startup</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> OFS.Application.import_products()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/OFS/Application.py", line 573, in import_products</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> import_product(product_dir, product_name, raise_exc=debug_mode)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/OFS/Application.py", line 596, in import_product</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> product=__import__(pname, global_dict, global_dict, silly)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ExternalFile/__init__.py", line 18, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from ExternalFile import manage_addExternalFileForm, addExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ExternalFile/ExternalFile.py", line 36, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from IExternalFile import IExternalFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ExternalFile/IExternalFile.py", line 16, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Interface import Base</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">ImportError: No module named Interface</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">{code}</font> </p>
<br>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">{code}</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">(web)horatio:/web/science_1 # bin/zopectl fg</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/bin/runzope -X debug-mode=on</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 15:14:58 INFO ZServer HTTP server started at Thu Mar 11 15:14:58 2010</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Hostname: 0.0.0.0</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Port: 8080</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 15:14:58 INFO ZServer FTP server started at Thu Mar 11 15:14:58 2010</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Hostname: 0.0.0.0</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Port: 8021</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 15:14:58 INFO Zope Set effective user to "zope"</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/Photo/Photo.py:36: DeprecationWarning: Persistent is deprecated. import from Persistence instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import Persistent</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/Photo/Photo.py:42: DeprecationWarning: InitializeClass is deprecated. import from App.class_init instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import InitializeClass, DTMLFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/Photo/Photo.py:42: DeprecationWarning: DTMLFile is deprecated. import from App.special_dtml instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import InitializeClass, DTMLFile</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/Redirector/Redirector.py:12: DeprecationWarning: HTMLFile is deprecated. import from App.special_dtml instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import Persistent, HTMLFile, HTML, MessageDialog</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/Redirector/Redirector.py:12: DeprecationWarning: HTML is deprecated. import from App.special_dtml instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import Persistent, HTMLFile, HTML, MessageDialog</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">/web/science_1/Products/Redirector/Redirector.py:12: DeprecationWarning: MessageDialog is deprecated. import from App.Dialogs instead</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from Globals import Persistent, HTMLFile, HTML, MessageDialog</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 15:14:59 WARNING Init Ambiguous name for method of Products.Redirector.Redirector.RedirectorBase: 'manage' != 'manage_main'</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">2010-03-11 15:14:59 ERROR Application Could not import Products.ZMySQLDA</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Traceback (most recent call last):</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/OFS/Application.py", line 596, in import_product</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> product=__import__(pname, global_dict, global_dict, silly)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ZMySQLDA/__init__.py", line 91, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> import DA</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ZMySQLDA/DA.py", line 92, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from db import DB</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ZMySQLDA/db.py", line 89, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> import _mysql</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">ImportError: No module named _mysql</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">Traceback (most recent call last):</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/bin/runzope", line 8, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> load_entry_point('Zope2==2.12.2', 'console_scripts', 'runzope')()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/Startup/run.py", line 21, in run</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> starter.prepare()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/Startup/__init__.py", line 87, in prepare</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> self.startZope()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/Startup/__init__.py", line 264, in startZope</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> Zope2.startup()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/__init__.py", line 47, in startup</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> _startup()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/Zope2/App/startup.py", line 58, in startup</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> OFS.Application.import_products()</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/OFS/Application.py", line 573, in import_products</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> import_product(product_dir, product_name, raise_exc=debug_mode)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/lib/python2.6/site-packages/Zope2-2.12.2-py2.6-linux-x86_64.egg/OFS/Application.py", line 596, in import_product</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> product=__import__(pname, global_dict, global_dict, silly)</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ZMySQLDA/__init__.py", line 91, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> import DA</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ZMySQLDA/DA.py", line 92, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> from db import DB</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> File "/web/science_1/Products/ZMySQLDA/db.py", line 89, in <module></font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3"> import _mysql</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">ImportError: No module named _mysql</font> </p>
<p style="margin-bottom: 0; margin-top: 0">
<font face="Helvetica Neue" size="3">{code}</font>
</p>
<font face="Helvetica Neue" STYLE="font-size: 12pt"><br>Andrew Watkins <BR>Systems Development Team Manager <BR>National Institute Water & Atmospheric Research (NIWA). <BR><br><br></font><BR>
<div>
NIWA is the trading name of the National Institute of Water &
Atmospheric Research Ltd.
</div>
</BODY></HTML>