Unable to update zope.schema in Plone

A very new Plone 4 setup and an attempt to integrate Solgema.fullcalendar, but when I start buildout I get an error message that requires zope.schema 3.6.0 and I have 3.5.4. I can’t let my life determine how to renew it. I suppose that I am missing something fundamental, but, in my opinion, I deal with my own head, as I will encounter such problems again and again as I progress.

"Instance installation. Error: version conflict. We already have: zope.schema 3.5.4 but z3c.form 2.4.2 requires' zope.schema> = 3.6.0."

I looked around and noticed that installing zope.schema> = 3.6.0 in eggs might work, but it did not actually cause an update that caused only a bad installation error.

If anyone has any ideas or something else you need, let me know!

Thank you, Chris

+4
source share
2 answers

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

In general, you will need the version section in the assembly configuration, in which you can specify the exact version requirements for all distributions that you want.

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

Inside setup.py files, you should never specify exact version requirements. Make the minimum requirements for them if your particular library absolutely needs a new function from another library.

+5
source

See Hanno's answer. I will add that I can no longer think of using '> =' (or '<=' or '==') to indicate the minimum, maximum, or exact versions anywhere in the assembly configuration. Version specifications should only be in the [version] section. Some time has passed since the last time I used the buildout configuration, which used comparison operators, but I remember that this can lead to problems, especially when upgrading; the only way out is to delete the .installed.cfg file sometimes to make bin / buildout in a new state.

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

+1
source

All Articles