Python setup.py entry_points 带三重单引号的语法
Python setup.py entry_points syntax with triple single quotes
我正在查看 CKAN 的扩展,它们的 entry_points 条目如下所示:
setup(
#...,
entry_points='''
[ckan.plugins]
template=ckanext.template.plugin:TemplatePlugin
[babel.extractors]
ckan = ckan.lib.extract:extract_ckan
[paste.paster_command]
template=ckanext.template.commands.custom_commands:CustomCommand
''',
#...,
)
我正在尝试升级使用 CKAN 的 CLI 的现有扩展。上面的第 3 个条目用于 CLI 命令。我正在尝试将其更新为不再使用 Paster 而是使用 Click 的 CKAN 最新版本。
我试图告诉您如何更新 [paste.paster_command]
,但我找不到任何其他使用此 entry_points 语法的参考资料来确定如何更新它。对于我能找到的任何对 setup.py 语法的引用,它如下所示(在本例中来自 Click 的文档):
setup(
#...,
entry_points={
'console_scripts': [
'yourscript = yourpackage.scripts.yourscript:cli',
],
},
)
setuptools 文档仅引用了 entry_points 与 setup.cfg 相关的内容。因此,他们文档中 entry_points 的示例没有帮助。因此,鉴于我能找到的,我必须假设上面的三引号语法只是常规的 Python 字符串格式,方括号是“额外的依赖项”。真的?如果不是,它们是什么?任何对此“替代”字符串语法的引用将不胜感激。
根据 Zharktas 在 CKAN 的 GitHub 讨论板上的回复:
The syntax is in .ini-style:
https://setuptools.readthedocs.io/en/latest/pkg_resources.html#creating-and-parsing
"If data is a string or sequence of lines, it is first split into .ini-style sections (using the split_sections() utility function) and the section names are used as group names."
Click commands implemented with IClick interface do not require entry in entry_points anymore as they are executed through the new ckan command instead of paster which required that you tell paster about them via entry_points.
You can just remove whole entry if you want to support only CKAN 2.9.
我正在查看 CKAN 的扩展,它们的 entry_points 条目如下所示:
setup(
#...,
entry_points='''
[ckan.plugins]
template=ckanext.template.plugin:TemplatePlugin
[babel.extractors]
ckan = ckan.lib.extract:extract_ckan
[paste.paster_command]
template=ckanext.template.commands.custom_commands:CustomCommand
''',
#...,
)
我正在尝试升级使用 CKAN 的 CLI 的现有扩展。上面的第 3 个条目用于 CLI 命令。我正在尝试将其更新为不再使用 Paster 而是使用 Click 的 CKAN 最新版本。
我试图告诉您如何更新 [paste.paster_command]
,但我找不到任何其他使用此 entry_points 语法的参考资料来确定如何更新它。对于我能找到的任何对 setup.py 语法的引用,它如下所示(在本例中来自 Click 的文档):
setup(
#...,
entry_points={
'console_scripts': [
'yourscript = yourpackage.scripts.yourscript:cli',
],
},
)
setuptools 文档仅引用了 entry_points 与 setup.cfg 相关的内容。因此,他们文档中 entry_points 的示例没有帮助。因此,鉴于我能找到的,我必须假设上面的三引号语法只是常规的 Python 字符串格式,方括号是“额外的依赖项”。真的?如果不是,它们是什么?任何对此“替代”字符串语法的引用将不胜感激。
根据 Zharktas 在 CKAN 的 GitHub 讨论板上的回复:
The syntax is in .ini-style: https://setuptools.readthedocs.io/en/latest/pkg_resources.html#creating-and-parsing "If data is a string or sequence of lines, it is first split into .ini-style sections (using the split_sections() utility function) and the section names are used as group names."
Click commands implemented with IClick interface do not require entry in entry_points anymore as they are executed through the new ckan command instead of paster which required that you tell paster about them via entry_points.
You can just remove whole entry if you want to support only CKAN 2.9.