根据:
要在 Plone 4.3 中使用 grok-style 声明,必须通过带有 setuptools 附加要求的buildout安装 Dexterity :grok和relations(指的是plone.app.dexterity&setup;中的extras_require
定义)。但是,想要代表最终用户执行此配置的附加开发人员应该做些什么呢?
使用我的collective.project插件,我从plone.app.dexterity复制了extras_require
:
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
这是一种合理的方法吗?
答案 0 :(得分:2)
不,不是。不要从plone.app.dexterity复制extras_require
,它没有帮助(虽然可能包括extras_require,因为install_requires会起作用,但这会破坏extras_require的目的)
但是,您可以使用与Buildout用于在 setup.py 中指定extras_require
的类似语法:
install_requires=[
'setuptools',
'plone.app.dexterity[grok]',
],