我想使用transmogrifier将一个Plone 4站点的一个节选复制到另一个站点。我遵循了quintagroup文档中的说明,例如这里。
我将collective.transmogrifier和quintagroup.transmogrifier添加到构建中:
[instance]
eggs +=
Products.Marshall
collective.transmogrifier
quintagroup.transmogrifier
zcml +=
collective.transmogrifier
quintagroup.transmogrifier但是,安装的collective.transmogrifier版本1.4还不够,因为它在utils模块中缺少traverse功能:
File ".../eggs/plone.app.transmogrifier-1.3-py2.7.egg/plone/app/transmogrifier/atschemaupdater.py", line 8, in <module>
from collective.transmogrifier.utils import traverse
zope.configuration.xmlconfig.ZopeXMLConfigurationError: File ".../parts/instance/etc/site.zcml", line 15.2-15.55
ZopeXMLConfigurationError: File ".../parts/instance/etc/package-includes/027-quintagroup.transmogrifier-configure.zcml", line 1.0-1.70
ZopeXMLConfigurationError: File ".../eggs/quintagroup.transmogrifier-0.5-py2.7.egg/quintagroup/transmogrifier/configure.zcml", line 11.4-11.50
ZopeXMLConfigurationError: File ".../eggs/plone.app.transmogrifier-1.3-py2.7.egg/plone/app/transmogrifier/configure.zcml", line 9.2-12.8
ImportError: cannot import name traverse我在我的collective.transmogrifier = 1.5中指定了versions.cfg,然后将collective.transmogrifier<1.5中坚持的eggs/quintagroup.transmogrifier-0.5-py2.7.egg/EGG-INFO/requires.txt (,为什么?)改为
collective.transmogrifier<=1.5在重建和重新启动之后,我能够在quickinstaller视图中添加quintagroup.transmogrifier。但是,当我试图在通用安装工具中导出站点时,我不幸地失败了:
Traceback (innermost last):
Module ZPublisher.Publish, line 138, in publish
Module ZPublisher.mapply, line 77, in mapply
Module ZPublisher.Publish, line 48, in call_object
Module Products.GenericSetup.tool, line 583, in manage_exportSelectedSteps
Module Products.GenericSetup.tool, line 1038, in _doRunExportSteps
Module quintagroup.transmogrifier.exportimport, line 72, in exportSiteStructure
Module collective.transmogrifier.utils, line 118, in constructPipeline
Module quintagroup.transmogrifier.sitewalker, line 32, in __init__
Module collective.transmogrifier.utils, line 225, in __init__
AttributeError: Transmogrifier instance has no attribute 'configuration_id'我之前是否保存了default导出配置文件,这并没有什么区别。
是否缺少了一些配置步骤,或者是否存在collective.transmogrifier <1.5约束的原因?我希望在完成选择白色内容之前,先看看这个作品.
发布于 2015-07-16 11:45:18
我以前也遇到过这种情况,但在这种情况下我可以避免使用quintagroup.transmogrifier。
这个引脚是在此承诺中移除的(虽然它比如果检查setup.py的历史的话要复杂一些)。
因此,基本上,您必须检查您的构建中的产品:
[sources]
...
quintagroup.transmogrifier = git https://github.com/collective/quintagroup.transmogrifier.git而且,重新运行构建(可能是bin/buildout -c develop.cfg)应该这样做,但是如果在生产中这样做,这应该被看作是一种短期的攻击,而不是长期的解决方案。长期的解决方案是使用jarn.mkrelease或zest.releaser构建自己的“0.5Tobias”鸡蛋(更现代,但更难搞清楚),或者在https://github.com/collective/quintagroup.transmogrifier.git上提出一个问题,要求别人为您发布一个官方版本!
https://stackoverflow.com/questions/31437226
复制相似问题