4

设置 Plone 4 并尝试集成 Solgema.fullcalendar 非常新,但是在运行 buildout 时我收到一个错误,说它需要 zope.schema 3.6.0 而我有 3.5.4。我一生都无法弄清楚如何更新它。我想我在这里遗漏了一些基本的东西,但正如我想象的那样,它正在引起我的注意,因为随着我的进步,我会一次又一次地遇到这种问题。

“正在安装实例。错误:存在版本冲突。我们已经有:zope.schema 3.5.4 但 z3c.form 2.4.2 需要 'zope.schema>=3.6.0'。”

环顾四周,注意到将 zope.schema>=3.6.0 放入鸡蛋可能会起作用,但这实际上并没有触发更新,只是导致了错误的安装错误。

如果有人有任何想法或需要更多内容,请告诉我!

谢谢克里斯

4

2 回答 2

5

如果你想在 Plone 中使用 z3c.form,最好更新到 Plone 4.1,它目前可作为候选发布版本。4.1 带有 z3c.form 并具有更新的 zope.schema 版本。

在一般情况下,您需要在构建配置中有一个版本部分,您可以在其中为所需的所有发行版指定确切的版本要求。

[buildout]
extends = ...

versions = versions

[versions]
zope.schema = 3.6.0

在 setup.py 文件中,您永远不应指定确切的版本要求。如果您的特定库绝对需要另一个库的新功能,则仅将最低要求放入这些库中。

于 2011-06-01T19:08:12.203 回答
1

见汉诺的回答。我要补充一点,我想不出有什么好的理由再使用 '>='(或 '<=' 或 '==')在构建配置中的任何位置指定最小、最大或精确版本。版本规范应该只在 [versions] 部分。自从我上次使用使用比较运算符的构建配置以来已经有一段时间了,但我记得它可能会导致问题,尤其是在升级时;有时,唯一的出路是删除“.installed.cfg”文件以使 bin/buildout 以全新状态运行。

(请注意 setup.py 中的 '>=' 非常好。)

于 2011-06-01T21:49:20.113 回答