Не могу обновить zope.schema в Plone

Я новичок в настройке 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 в яйцах может сработать, но на самом деле это не запускает обновление, а вызывает ошибку установки.

Если у кого-то есть идеи или нужно что-то еще, пожалуйста, дайте мне знать!

Спасибо Крис


person Shufty    schedule 01.06.2011    source источник


Ответы (2)


Если вы хотите использовать z3c.form внутри Plone, лучше всего обновить Plone до версии 4.1, которая в настоящее время доступна в качестве релиз-кандидата. 4.1 поставляется с z3c.form и имеет более новую версию zope.schema.

В общем случае вам понадобится раздел версий в вашей конфигурации сборки, в котором вы можете указать точные требования к версии для всех нужных вам дистрибутивов.

[buildout]
extends = ...

versions = versions

[versions]
zope.schema = 3.6.0

Внутри файлов setup.py вы никогда не должны указывать точные требования к версии. Установите в них минимальные требования только в том случае, если ваша конкретная библиотека абсолютно требует новой функции из другой библиотеки.

person Hanno Schlichting    schedule 01.06.2011

Смотрите ответ Ханно. Я добавлю, что я больше не могу придумать вескую причину для использования '>=' (или '‹=' или '==') для указания минимальной, максимальной или точной версии в любом месте конфигурации сборки. Спецификации версии должны быть только в разделе [версии]. Прошло некоторое время с тех пор, как я в последний раз использовал конфигурацию сборки, в которой использовались операторы сравнения, но я помню, что это могло привести к проблемам, особенно при обновлении; иногда единственным выходом было бы удалить файл '.installed.cfg', чтобы запустить bin/buildout в новом состоянии.

(Обратите внимание, что '>=' в setup.py совершенно нормально.)

person maurits    schedule 01.06.2011