0

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

自述文件是这样说的:

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

如何在 setup.py 中配置这种特定于版本的依赖项?

4

1 回答 1

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.
    ]

install_requires设置方法中,得到这个:

      install_requires= [
    'setuptools',
    'collective.js.jqueryui',
    ] + plone3_requires,
于 2013-08-07T08:55:34.360 回答