无法更新Plone中的zope.schema



对于设置Plone 4并尝试集成Solgema.fullcalendar来说是非常新的,但在运行buildout时,我收到一个错误,说它需要zope.schema 3.6.0,我有3.5.4。我一辈子都无法想出如何更新它。我想我在这里错过了一些基本的东西,但正如我想象的那样,它正在折磨我的头脑,因为随着我的进步,我会一次又一次地遇到这种问题。

"正在安装实例。错误:存在版本冲突。我们已经有了:zope.schema 3.5.4但z3c.form2.4.2要求'zope.schema>=3.6.0'。"

环顾四周,发现将zope.schema>=3.6.0放入eggs中可能会起作用,但这并没有真正触发更新,只是导致了一个严重的安装错误。

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

谢谢Chris

如果你想在Plone中使用z3c.form,最好更新到Plone 4.1,它目前是一个候选版本。4.1中包含z3c.form,并且有更新的zope.schema版本。

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

[buildout]
extends = ...
versions = versions
[versions]
zope.schema = 3.6.0

在setup.py文件中,您永远不应该指定确切的版本要求。只有当您的特定库绝对需要另一个库的新功能时,才对这些功能提出最低要求。

请参阅Hanno的回答。我要补充的是,我想不出有什么好的理由再使用">="(或"<="或"==")在构建配置中的任何位置指定最小、最大或精确版本了。版本规范应仅在[版本]部分中。我上次使用使用比较运算符的构建配置已经有一段时间了,但我记得它可能会导致问题,尤其是在升级时;有时,唯一的解决方法是删除".installed.cfg"文件,使bin/buildout在新状态下运行。

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

最新更新