0

我一直在使用 Plone 4.2 没有问题,但想用即将推出的 Plone 4.3 测试我的网站。我编辑了我的构建以使用 Plone 4.3a2 并重新运行构建。

现在我明白了ImportError: cannot import name Schema

这就是我的扩展部分现在的样子(我已经包含了对 Plone 4.2 的已注释掉的旧引用,它已被新的 Plone 4.3a2 url 替换)。

extends =
    deco.cfg
    toolbar.cfg
    users-ports.cfg
    base.cfg
    supervisor-cache-balancer.cfg
    products.cfg
#    versions.cfg
#    http://dist.plone.org/release/4.2-latest/versions.cfg
   http://dist.plone.org/release/4.3a2/versions.cfg
   pinnedversions.cfg

重新运行构建并使用启动我的实例后bin/client1 fg

我得到以下回溯:

from Products.ATContentTypes.criteria import _criterionRegistry
  File "/home/plone/buildout-cache/eggs/Products.ATContentTypes-2.1.7-py2.7.egg/Products/ATContentTypes/criteria/__init__.py", line 123, in <module>
    from Products.ATContentTypes.criteria.relativepath import ATRelativePathCriterion
  File "/home/plone/buildout-cache/eggs/Products.ATContentTypes-2.1.7-py2.7.egg/Products/ATContentTypes/criteria/relativepath.py", line 7, in <module>
    from Products.Archetypes.public import Schema, DisplayList
ImportError: cannot import name Schema

我什至尝试通过将以下内容添加到我的 pinnedversions.cfg 文件(在其他所有内容之后调用)来固定 Archetypes 和 ATContenttypes,以便构建使用旧版本(例如 Plone 4.2 中使用的那些)。

[versions]
Products.ATContentTypes = 2.1.7
Products.Archetypes = 1.7.14

即使那样,它似乎还有更多, ImportError: cannot import name Schema错误仍然存​​在。不管我在 pinnedversions.cfg 文件中使用什么版本,它都不起作用。

我所有的调查都表明这应该“正常工作”。这是我到目前为止检查的内容:

  1. 用于bin/client1 debug故障排除我发现from Products.Archetypes import Schemafrom Products.Archetypes.Schema import Schema并且from Products.Archetypes.atapi import Schema所有工作。

  2. 当我打开 Products.Archetypes public.py 文件时,它包含以下行:

     from Products.Archetypes.atapi import *
    

    我的理解是这样一行可以从 public.py 导入 Schema

4

2 回答 2

1

只是为了确认启用 products.kupu 也会给我带来问题。

该问题已在最新的 plone.app.upgrade 上得到修复,请参阅https://github.com/plone/plone.app.upgrade/commit/676f43c9c9c56eb686e20a5d0c7319540e7bab3f

于 2013-04-05T19:31:47.430 回答
0

在干净的 4.3a2 buildout 和我的 buildout 之间进一步调查后,区别在于,从我的部分Products.kupu注释掉并重新运行 buildout 解决了问题。Product.kupueggs

我没有调查解决问题的原因,但确实如此。

于 2012-10-23T09:40:30.613 回答