使用buildout.plonetest 4.3.x时发生版本冲突

使用buildout.plonetest 4.3.x时发生版本冲突,plone,buildout,Plone,Buildout,我写了一个扩展的小模块。如果我将版本从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 我认为

我写了一个扩展的小模块。如果我将版本从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']

4.3版本集没有bug;您需要修复版本冲突。尝试以下任何或所有方法来解决此常见问题:

(1) 删除已下载的版本并重新运行构建,例如:

$ rm -rf eggs/zc.recipe.egg\*
$ bin/buildout
$ rm .installed.cfg
$ bin/buildout
(2) 删除已安装的配置并重新运行构建,例如:

$ rm -rf eggs/zc.recipe.egg\*
$ bin/buildout
$ rm .installed.cfg
$ bin/buildout
(3) 指定要在本地配置中使用的版本,例如

[versions]
zc.recipe.egg = 2.0.0

方法(1)解决了这个问题。它安装zc.recipe.egg的1.3.2版。我在~/.buildout/eggs中全局安装了eggs,因此删除了zc.recipe.egg版本1.2.2、1.3.2和2.0.0。让我困惑的是我以前使用Bundler(我在Ruby项目中使用)的经验。使用Bundler,我可以在全球范围内安装多个Gem,并且只使用Gemfile中指定的(或指定用户要求的)版本。这意味着Buildout不允许全局安装多个版本的egg?Python本身不支持单个环境中的多个版本的库…如果要解决缺少的功能,请使用virtualenv并在不同的环境中安装不同的版本。