Python 如何解决Plone中依赖项之间的冲突?

Python 如何解决Plone中依赖项之间的冲突?,python,plone,Python,Plone,我正在为Plone 5.1编写一个附加组件。我已将依赖项添加到我的加载项的setup.pyinstall\u requires参数中。我还向Plone的buildout.cfg添加了我的附加组件(esperonus.vimeo)。但是,在运行buildout时,我得到以下错误: ryselis@ryselis-All-Series:~/Plone/zinstance$ bin/buildout -c develop.cfg mr.developer: Queued 'esperonus.vime

我正在为Plone 5.1编写一个附加组件。我已将依赖项添加到我的加载项的
setup.py
install\u requires
参数中。我还向Plone的
buildout.cfg
添加了我的附加组件(esperonus.vimeo)。但是,在运行buildout时,我得到以下错误:

ryselis@ryselis-All-Series:~/Plone/zinstance$ bin/buildout -c develop.cfg
mr.developer: Queued 'esperonus.vimeo_plone' for checkout.
mr.developer: Filesystem package 'esperonus.vimeo_plone' doesn't need a checkout.
Develop: '/home/ryselis/Plone/zinstance/src/esperonus.vimeo_plone'
Updating _mr.developer.
Installing instance.
Version and requirements information containing certifi:
  [versions] constraint on certifi: 2017.11.5
  Requirement of tuspy==0.2.1: certifi==2017.7.27.1
  Requirement of requests>=2.4.0: certifi>=2017.4.17
While:
  Installing instance.
Error: The requirement ('certifi==2017.7.27.1') is not allowed by your [versions] constraint (2017.11.5)

看起来VimeoPy需要与tuspy不同版本的certifi(我想这是Plone的依赖?)。我可以做些什么来将VimeoPy添加到我的加载项中吗?

这通常意味着您的构建配置中有固定版本,这与软件包希望安装的版本不同。如果您有理由,可以从构建配置中删除固定。 新的构建版本通常有一个名为“更新版本文件”的选项,该选项指向包含版本列表的构建配置文件。Buildout将添加所有拾取的版本(未锁定的版本),并为您添加它们,以便您以后可以使用完全相同的版本重建此配置。
但是这些固定是可以保存以删除的,特别是当您有需要不同版本的包时

简而言之,您希望从实例目录中执行命令行的
grep-r--include=*.cfg certifi
,以搜索包含导致错误的包的配置文件(此处为:“certifi”),如果找到的行将其固定到某个版本,请删除该行并重新运行buildout。