I installed relstorage using the instructions for easy_setup, i.e. 'easy_install RelStorage'. I realized as I read through more of the instructions that this likely put the relstorage modules in my python home rather than in my zope software home. I don't know if this would have caused the error I am seeing. <br>
<br>However, after reading more through the instructions, and watching easy_install do its magic, I reached a point where I make a new zope instance, then when in to that instance home and modified the zope.conf to use relstorage instead of filestorage, I was ready to start my new instance. I was disappointed to have a traceback just running zopectl. I ran $INSTANCE_HOME/bin/zopectl <br>
<br>and got the following traceback:<br><br>Traceback (most recent call last):<br>
File "/servers/webenv1/lib/python<div id="1fev" class="ArwC7c ckChnd">/Zope2/Startup/zopectl.py", line 329, in ?<br>
main()<br>
File "/servers/webenv1/lib/python/Zope2/Startup/zopectl.py", line 287, in main<br>
options.realize(args)<br>
File "/servers/webenv1/lib/python/Zope2/Startup/zopectl.py", line 95, in realize<br>
ZDOptions.realize(self, *args, **kw)<br>
File "/servers/webenv1/lib/python2.4/site-packages/zdaemon-2.0.2-py2.4.egg/zdaemon/zdoptions.py", line 279, in realize<br>
self.load_schema()<br>
File "/servers/webenv1/lib/python2.4/site-packages/zdaemon-2.0.2-py2.4.egg/zdaemon/zdoptions.py", line 327, in load_schema<br>
self.schema = ZConfig.loadSchema(self.schemafile)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/loader.py", line 32, in loadSchema<br>
return SchemaLoader().loadURL(url)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/loader.py", line 66, in loadURL<br>
return self.loadResource(r)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/loader.py", line 187, in loadResource<br>
schema = ZConfig.schema.parseResource(resource, self)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/schema.py", line 27, in parseResource<br>
xml.sax.parse(resource.file, parser)<br>
File "/servers/webenv1//lib/python2.4/xml/sax/__init__.py", line 33, in parse<br>
parser.parse(source)<br>
File "/servers/webenv1//lib/python2.4/xml/sax/expatreader.py", line 107, in parse<br>
xmlreader.IncrementalParser.parse(self, source)<br>
File "/servers/webenv1//lib/python2.4/xml/sax/xmlreader.py", line 123, in parse<br>
self.feed(buffer)<br>
File "/servers/webenv1//lib/python2.4/xml/sax/expatreader.py", line 207, in feed<br>
self._parser.Parse(data, isFinal)<br>
File "/servers/webenv1//lib/python2.4/xml/sax/expatreader.py", line 300, in start_element<br>
self._cont_handler.startElement(name, AttributesImpl(attrs))<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/schema.py", line 99, in startElement<br>
getattr(self, "start_" + name)(attrs)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/schema.py", line 475, in start_schema<br>
keytype, valuetype, datatype = self.get_sect_typeinfo(attrs)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/schema.py", line 201, in get_sect_typeinfo<br>
datatype = self.get_datatype(attrs, "datatype", "null", base)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/schema.py", line 194, in get_datatype<br>
return self._registry.get(dtname)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/datatypes.py", line 398, in get<br>
t = self.search(name)<br>
File "/servers/webenv1/lib/python2.4/site-packages/ZConfig-2.5.1-py2.4.egg/ZConfig/datatypes.py", line 423, in search<br>
package = __import__(n, g, g, component)<br>
File "/servers/webenv1/lib/python/Zope2/Startup/datatypes.py", line 21, in ?<br>
import OFS.Uninstalled<br>
File "/servers/webenv1/lib/python/OFS/Uninstalled.py", line 20, in ?<br>
import SimpleItem, Globals, Acquisition<br>
File "/servers/webenv1/lib/python/OFS/SimpleItem.py", line 26, in ?<br>
import AccessControl.Role, AccessControl.Owned, App.Common<br>
File "/servers/webenv1/lib/python/AccessControl/__init__.py", line 17, in ?<br>
from Implementation import setImplementation<br>
File "/servers/webenv1/lib/python/AccessControl/Implementation.py", line 98, in ?<br>
setImplementation("C")<br>
File "/servers/webenv1/lib/python/AccessControl/Implementation.py", line 51, in setImplementation<br>
from AccessControl import ImplC as impl<br>
File "/servers/webenv1/lib/python/AccessControl/ImplC.py", line 18, in ?<br>
from cAccessControl import rolesForPermissionOn, \<br>
File "/servers/webenv1/lib/python/AccessControl/SimpleObjectPolicies.py", line 82, in ?<br>
from DocumentTemplate.DT_Util import TemplateDict<br>
File "/servers/webenv1/lib/python/DocumentTemplate/__init__.py", line 21, in ?<br>
from DocumentTemplate import String, File, HTML, HTMLDefault, HTMLFile<br>
File "/servers/webenv1/lib/python/DocumentTemplate/DocumentTemplate.py", line 112, in ?<br>
from DT_String import String, File<br>
File "/servers/webenv1/lib/python/DocumentTemplate/DT_String.py", line 19, in ?<br>
from DT_Util import ParseError, InstanceDict, TemplateDict, render_blocks, str<br>
File "/servers/webenv1/lib/python/DocumentTemplate/DT_Util.py", line 67, in ?<br>
from ZPublisher.TaintedString import TaintedString<br>
File "/servers/webenv1/lib/python/ZPublisher/__init__.py", line 24, in ?<br>
from Publish import publish_module, Retry<br>
File "/servers/webenv1/lib/python/ZPublisher/Publish.py", line 24, in ?<br>
from zope.app.publication.browser import setDefaultSkin<br>
File "/servers/webenv1/lib/python/zope/app/publication/browser.py", line 33, in ?<br>
from zope.app.publication.http import BaseHTTPPublication<br>
File "/servers/webenv1/lib/python/zope/app/publication/http.py", line 27, in ?<br>
from zope.app.publication.zopepublication import ZopePublication<br>
File "/servers/webenv1/lib/python/zope/app/publication/zopepublication.py", line 46, in ?<br>
from zope.app.security.principalregistry import principalRegistry as prin_reg<br>
File "/servers/webenv1/lib/python/zope/app/security/principalregistry.py", line 20, in ?<br>
from zope.app.authentication.interfaces import IPasswordManager<br>
File "/servers/webenv1/lib/python/zope/app/authentication/__init__.py", line 20, in ?<br>
from zope.app.authentication.authentication import PluggableAuthentication<br>
File "/servers/webenv1/lib/python/zope/app/authentication/authentication.py", line 25, in ?<br>
from zope.app.component.site import SiteManagementFolder<br>
File "/servers/webenv1/lib/python/zope/app/component/site.py", line 35, in ?<br>
from zope.app.component import adapter<br>
File "/servers/webenv1/lib/python/zope/app/component/adapter.py", line 28, in ?<br>
class LocalSurrogate(zope.interface.adapter.Surrogate):<br>
AttributeError: 'module' object has no attribute 'Surrogate'<br><br></div><br>for more information, there is another zope instance running on this machine however there is only 1 zope_home. Furthermore, what I couldn't discern from the install instructions for relstorage was configuration for postgresql. Since the instructions were silent, I assumed I at least needed a pg user for zope to connect as, and a database to contain the zodb. So I created these in pg so the dsn in zope.conf would at least have something valid to connect to.<br>
<br>Any adivce?<br><br>I think I will need to back out of what easy_install did to my pythonhome -- is there an easy way to undo what easy_install did ?<br><br clear="all"><br>-- <br>David Bear<br>College of Public Programs at ASU<br>
602-464-0424