Plone

plone 3.3.5 中的 stxnext.staticdeployment 出現問題

  • October 17, 2013

我在(過時的)Suse Linux 伺服器上的 Plone 3.3.5中安裝stxnext.staticdeployment時遇到問題。

我的步驟:

  1. 從統一的 unix 安裝程序全新安裝 Plone 3.3.5
  2. stxnext.staticdeployment根據說明添加eggszcml部分
  3. 執行buildout腳本
  4. 使用初始空複製站點啟動 zope

除了最後一步,一切都執行良好,如果我得到這些執行時錯誤:

ERROR Five Could not import Product Products.CMFPlone
ERROR Application Couldn't install Five

我做錯了什麼,或者我被 stxnext.staticdeployment 中的錯誤所困擾?

這是bin/buildout輸出:

./bin/buildout 
Updating zope2.
Updating fake eggs
Updating productdistros.
Installing instance.
Updating zopepy.
Updating zopeskel.
Updating chown.
chown: Running chmod 600 .installed.cfg
Updating backup.
Updating unifiedinstaller.
Updating precompile.
 precompiling python scripts in /srv/pstatic/Plone-3.3.5/empty/products
 precompiling python scripts in /srv/pstatic/Plone-3.3.5/empty/parts/productdistros
*************** PICKED VERSIONS ****************
[versions]
BeautifulSoup = 3.2.1
five.globalrequest = 1.0
lxml = 3.2.3
stxnext.staticdeployment = 1.1
zope.globalrequest = 1.0

*************** /PICKED VERSIONS ***************

instance.log回溯

ERROR Five Could not import Product Products.CMFPlone
Traceback (most recent call last):
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/Products/Five/fiveconfigure.py", line 76, in loadProducts
   xmlconfig.include(_context, zcml, package=product)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 515, in include
   processxmlfile(f, context)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 370, in processxmlfile
   parser.parse(src)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
   xmlreader.IncrementalParser.parse(self, source)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
   self.feed(buffer)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
   self._parser.Parse(data, isFinal)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 348, in end_element_ns
   self._cont_handler.endElementNS(pair, None)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 349, in endElementNS
   self.context.end()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 544, in end
   self.stack.pop().finish()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 692, in finish
   actions = self.handler(context, **args)
 File "/srv/pstatic/Plone-3.3.5/buildout-cache/eggs/z3c.autoinclude-0.3.1-py2.4.egg/z3c/autoinclude/zcml.py", line 104, in includePluginsDirective
   includeZCMLGroup(_context, info, filename)
 File "/srv/pstatic/Plone-3.3.5/buildout-cache/eggs/z3c.autoinclude-0.3.1-py2.4.egg/z3c/autoinclude/zcml.py", line 30, in includeZCMLGroup
   include(_context, filename, includable_package)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 515, in include
   processxmlfile(f, context)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 370, in processxmlfile
   parser.parse(src)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
   xmlreader.IncrementalParser.parse(self, source)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
   self.feed(buffer)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
   self._parser.Parse(data, isFinal)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 348, in end_element_ns
   self._cont_handler.endElementNS(pair, None)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 349, in endElementNS
   self.context.end()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 544, in end
   self.stack.pop().finish()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 692, in finish
   actions = self.handler(context, **args)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 515, in include
   processxmlfile(f, context)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 370, in processxmlfile
   parser.parse(src)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 107, in parse
   xmlreader.IncrementalParser.parse(self, source)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/xmlreader.py", line 123, in parse
   self.feed(buffer)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 207, in feed
   self._parser.Parse(data, isFinal)
 File "/srv/pstatic/Plone-3.3.5/Python-2.4/lib/python2.4/xml/sax/expatreader.py", line 348, in end_element_ns
   self._cont_handler.endElementNS(pair, None)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 349, in endElementNS
   self.context.end()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 544, in end
   self.stack.pop().finish()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 691, in finish
   args = toargs(context, *self.argdata)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 1383, in toargs
   args[str(name)] = field.fromUnicode(s)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/fields.py", line 229, in fromUnicode
   v = vt.fromUnicode(s)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/fields.py", line 139, in fromUnicode
   value = self.context.resolve(name)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/config.py", line 184, in resolve
   mod = __import__(mname, *_import_chickens)
 File "/srv/pstatic/Plone-3.3.5/buildout-cache/eggs/stxnext.staticdeployment-1.1-py2.4.egg/stxnext/staticdeployment/adapters/transformations.py", line 28, in ?
   from plone.app.imaging.interfaces import IImageScaling
ZopeXMLConfigurationError: File "/srv/pstatic/Plone-3.3.5/buildout-cache/eggs/Plone-3.3.5-py2.4.egg/Products/CMFPlone/configure.zcml", line 116.4-116.60
   ZopeXMLConfigurationError: File "/srv/pstatic/Plone-3.3.5/buildout-cache/eggs/stxnext.staticdeployment-1.1-py2.4.egg/stxnext/staticdeployment/configure.zcml", line 15.4-15.34
   ZopeXMLConfigurationError: File "/srv/pstatic/Plone-3.3.5/buildout-cache/eggs/stxnext.staticdeployment-1.1-py2.4.egg/stxnext/staticdeployment/adapters/configure.zcml", line 5.4-10.10
   ImportError: No module named imaging.interfaces

ERROR Application Couldn't install Five
Traceback (most recent call last):
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/OFS/Application.py", line 786, in install_product
   initmethod(context)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/Products/Five/__init__.py", line 28, in initialize
   zcml.load_site()
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/Products/Five/zcml.py", line 53, in load_site
   _context = xmlconfig.file(file)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 579, in file
   include(context, name, package)
 File "/srv/pstatic/Plone-3.3.5/Zope-2.10.11-final-py2.4/lib/python/zope/configuration/xmlconfig.py", line 517, in include
   assert _context.stack[-1].context is context
AssertionError

看起來 stxnext.staticdeployment 缺少 plone.app.imaging 的依賴項,這在 Plone 4 中是預設的,但在 Plone 3.x 中需要顯式安裝。

我在這裡發布了這個問題:https ://github.com/collective/stxnext.staticdeployment/issues/13 但為了解決這個問題,只需確保安裝了 plone.app.imaging。

引用自:https://serverfault.com/questions/546635