如何解决Plone 4.2和4.3的collective.js.jqueryui版本控制

时间:2013-08-05 19:22:37

标签: plone

我有一个插件,我想要更新以与Plone4.3兼容,但是当Plone4.2用户进行升级时,它应该保持正常运行。

readme说:

  

对于Plone 3,您需要此软件包的1.7.x版本   Plone< 4.3使用版本< 1.9

如何在setup.py?

中配置这种特定于版本的依赖项

1 个答案:

答案 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,