如何在setup.cfg中设置entry_points

62

我正在将配置文件从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
2个回答

60

这对我不起作用。我把入口脚本移动到了这里,将名称更改为“foobar”,但控制台脚本foobar不可用。 - Martin Thoma
要不试试一个简单的 scripts = bin/compare.py - droid192
@qrtLs,“脚本”和“入口点”之间有很大的区别。请参阅https://setuptools.readthedocs.io/en/latest/setuptools.html#automatic-script-creation。 - phd

1

我希望您能够将入口点从.py移动到.cfg,与Python 3.6和setuptools 39.0.1一起使用。

我的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

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接