如何在 setup.cfg 中设置 entry_points

How to set up entry_points in setup.cfg

我正在将我的配置从 setup.py 移动到 setup.cfg,并且在设置 entry_points 参数时遇到问题。目前我正在使用一种可行的混合方法,但是,我想将 entry_points 移动到 setup.cfg。

来自

def setup_package():
    setup(version=get_version(),
          entry_points={'console_scripts':['app=my_package.app.run:cli'],})

[metadata]
name = my-package
description = my-package
license = unlicensed
long-description = README.md
platforms = any
classifiers =
  Programming Language :: Python

[options]
zip_safe = False
packages = my_package,  my_package.app
include_package_data = True
package_dir =
  = .
tests_require = pytest; pytest-cov

[entry_points]
console_scripts =
  my-package = my_package.app.run:cli

该部分必须是 [options.entry_points]。请参阅 https://github.com/github/octodns/blob/4b44ab14b1f0a52f1051c67656d6e3dd6f0ba903/setup.cfg#L34

中的示例
[options.entry_points]
console_scripts =
    octodns-compare = octodns.cmds.compare:main
    octodns-dump = octodns.cmds.dump:main
    octodns-report = octodns.cmds.report:main
    octodns-sync = octodns.cmds.sync:main
    octodns-validate = octodns.cmds.validate:main

使用 python 3.6 和 setuptools 39.0.1,我希望您将入口点从 .py 移动到 .cfg

我的setup.py,关注入口点声明:

from setuptools import setup

setup(
    entry_points={
        'pytest11': [
            'mytest = mytest.plugin',
        ],
    },
)

我完成了这项工作 setup.cfg:

... # other standard declarations

[options.entry_points]
pytest11 =
    mytest = mytest.plugin