2

によると:

Plone 4.3でgrokスタイルの宣言を使用するには、 setuptoolsの追加要件であるgrokとrelations(plone.app.dexterityのsetup.pyの定義を参照)を使用してビルドアウトを介してDexterityをインストールする必要があります。しかし、エンドユーザーに代わってこの構成を実行したいアドオン開発者は何をすべきでしょうか?extras_require

私のcollective.projectアドオンを使用してextras_require、plone.app.dexterityからコピーしました。

setup(
    author='Alex Clark',
    author_email='aclark@aclark.net',
    description='Demo app: project management with dexterity content types.',
    entry_points={
        'z3c.autoinclude.plugin': 'target = plone',
    },
    extras_require = {
        'test': [
            'plone.app.testing',
            'unittest2'
            ],
        'grok': [
            'five.grok',
            'plone.directives.dexterity',
            'plone.directives.form >=1.1dev',
            ],
        'relations': [
            'plone.app.relationfield',
            'plone.app.intid',
            'z3c.relationfield',
            ]
    },

これにより、エンドユーザーは卵のリストに追加するだけでcollective.projectをインストールできます。

[plone]
recipe = plone.recipe.zope2instance
eggs =
  Pillow
  Plone
  collective.project

これは合理的なアプローチですか?

4

1 に答える 1

3

いいえそうではありません。plone.app.dexterityからコピーしないでくださいextras_require、それは役に立ちません(install_requiresが機能するのでextras_requireを含めるかもしれませんが、それはextras_requireの目的を無効にします)

ただし、Buildoutがsetup.pyextras_requireで指定するために使用するのと同様の構文を使用できます。

install_requires=[
    'setuptools',
    'plone.app.dexterity[grok]',
],
于 2012-10-31T00:22:08.450 に答える