Plone4.3 との互換性を維持するために更新したいアドオンがありますが、Plone4.2 ユーザーがアップグレードしても機能し続けるはずです。
readme には次のように書かれています。
Plone 3 の場合、このパッケージのバージョン 1.7.x が必要です
Plone < 4.3 バージョン < 1.9 を使用してください
setup.py でこの種のバージョン固有の依存関係を構成するにはどうすればよいですか?
実際には、タグリリース、IMHOでPloneバージョンを固定する必要があるのはc.js.jqueryuiです。したがって、おそらく著者に連絡する必要があります。結果として、「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,