Конфликт версий при использовании buildout.plonetest 4.3.x

Я написал небольшой модуль, расширяющий https://raw.github.com/collective/buildout.plonetest/master/test-4.2.x.cfg. Если я сменю версию с 4.2 на 4.3, выдает ошибку при запуске bin/buildout:

...
While:
  Installing.
  Getting section test.
  Initializing section test.
  Installing recipe zc.recipe.testrunner.
Error: There is a version conflict.
We already have: zc.recipe.egg 2.0.0

Я предполагаю, что ошибка возникает из-за того, что некоторые пакеты, перечисленные в buildout.plonetest, имеют конфликтующие версии, и это ошибка в наборе версии 4.3. Я прав или ошибаюсь в файле buildout.cfg?

Сборка, которую я использую:

[buildout]
extends =
    https://raw.github.com/collective/buildout.plonetest/master/test-4.2.x.cfg
package-name = conaride.theme
package-extras = [test]

[instance]
eggs +=
    Pillow

[test]
defaults = ['-s', '${buildout:package-name}', '--auto-color', '--auto-progress']

person Daniel Hernández    schedule 21.07.2013    source источник


Ответы (1)


В наборе версии 4.3 бага нет; вам нужно исправить конфликт версий. Попробуйте любой или все из следующих подходов к этой очень распространенной проблеме:

(1) Удалите уже загруженную версию и повторно запустите Buildout, например:

$ rm -rf eggs/zc.recipe.egg\*
$ bin/buildout

(2) Удалите установленную конфигурацию и повторно запустите Buildout, например:

$ rm .installed.cfg
$ bin/buildout

(3) Укажите версию, которую вы хотите использовать в своей локальной конфигурации, например.

[versions]
zc.recipe.egg = 2.0.0
person aclark    schedule 21.07.2013
comment
Подход (1) решает проблему. Он устанавливает версию 1.3.2 файла zc.recipe.egg. Я установил яйца глобально в ~/.buildout/eggs, поэтому я удалил zc.recipe.egg версий 1.2.2, 1.3.2 и 2.0.0. Меня смущает мой предыдущий опыт работы с Bundler (который я использую в проектах Ruby). С помощью Bundler я могу установить несколько драгоценных камней глобально, и используются только версии, указанные (или требуемые указанным) в Gemfile. Это значит, что Buildout не позволяет глобально установить несколько версий яйца? - person Daniel Hernández; 22.07.2013
comment
Сам Python не поддерживает несколько версий библиотеки в одной среде… используйте virtualenv и устанавливайте разные версии в разных средах, если хотите обойти эту недостающую функциональность. - person aclark; 23.07.2013