开发者

Cannot update zope.schema in Plone

开发者 https://www.devze.com 2023-03-09 16:56 出处:网络
Very new to setting up Plone 4 and trying to integrate Solgema.fullcalendar but when running buildout I get an error saying it needs zope.schema 3.6.0 and I have 3.5.4. I cannot for the life of me wor

Very new to setting up Plone 4 and trying to integrate Solgema.fullcalendar but when running buildout I get an error saying it needs zope.schema 3.6.0 and I have 3.5.4. I cannot for the life of me work out how to update it. I assume I am missing something fundamental here but it is doing my head in as I imagine开发者_Go百科 as I will encounter this kind of issue again and again as I progress.

" Installing instance. Error: There is a version conflict. We already have: zope.schema 3.5.4 but z3c.form 2.4.2 requires 'zope.schema>=3.6.0'."

Looked around and noticed that putting zope.schema>=3.6.0 in eggs might work but that didn't actually trigger an update just caused a bad install error.

If anyone has any ideas or needs something more to go on please let me know!

Thanks Chris


If you want to use z3c.form inside Plone, best update to Plone 4.1 which is currently available as a release candidate. 4.1 comes with z3c.form in it and has the newer zope.schema version.

In the general case you will need to have a versions section in your buildout configuration in which you can specify exact version requirements for all distributions you want.

[buildout]
extends = ...

versions = versions

[versions]
zope.schema = 3.6.0

Inside the setup.py files you should never specify exact version requirements. Only put minimum requirements into these if your specific library absolutely requires a new feature from another library.


See Hanno's answer. I will add that I cannot think of a good reason anymore to use '>=' (or '<=' or '==') to specify minimum, maximum or exact versions anywhere in a buildout config. Version specifications should only be in a [versions] section. It has been a while since I last used a buildout config that used the comparison operators, but I remember it could lead to problems, especially when upgrading; the only way out would at times be to remove the '.installed.cfg' file to make bin/buildout run in a fresh state.

(Note that '>=' in a setup.py is perfectly fine.)

0

精彩评论

暂无评论...
验证码 换一张
取 消

关注公众号