我有一个插件,我想要更新以与Plone4.3兼容,但是当Plone4.2用户进行升级时,它应该保持正常运行。
readme说:
对于Plone 3,您需要此软件包的1.7.x版本 Plone< 4.3使用版本< 1.9
如何在setup.py?
中配置这种特定于版本的依赖项答案 0 :(得分:0)
实际上它是c.js.jqueryui应该将Plone版本固定在他们的标签版本中,恕我直言。 所以你应该联系作者。 因此,您应该添加'Products.CMFPlone'作为依赖项,但我不知道这里的最佳做法是什么。
无论如何,要回答你的问题,不管我们是否有Plone-3,这都是不同的可能性:
在setup.py
添加到顶部
import glob
# BBB: Append Plone-3-specific version-pinnings
# to `install_requires`, in case third-party-eggs
# do not specify their requirement-versions.
# Assumes, Plone-eggs are in the same directory
# as this egg, which is given, if fetched of pypi.
# Otherwise assumes, you know how to tweak
# buildout and pin versions yourself.
# Collect P3-eggs in eggs-directory:
plone3_eggs = glob.glob('../Products.CMFPlone-3*')
# Found something?
if len(plone3_eggs) > 0:
# Expects `install_requires=[ ... ] + plone3_requires,`
# in setup-method below, to take effect:
plone3_requires = [
'collective.js.jqueryui<=1.7',
# Add more P3-pins here.
]
在setup-method中install_requires
得到了这个:
install_requires= [
'setuptools',
'collective.js.jqueryui',
] + plone3_requires,