如何使用类方法创建具有setuptools的entry_points?

时间:2018-03-08 15:21:00

标签: python setuptools

如果我写了这样的函数:

def my_function():
    # do something

我可以使用以下命令创建运行此函数的命令:

entry_points = {
     'console_scripts': [
         'my_command = module:my_function',
     ],
 },

假设我有以下课程:

class MyPackage:
    def __init__(self):
        # manage something with argparse and others ...

    def main(self):
        # do the job

有没有办法使用类MyPackage的main方法,还是必须编写基本函数?

1 个答案:

答案 0 :(得分:1)

我相信它可以是类方法或静态方法,但不是实例 方法

class MyPackage:
    def __init__(self):
        # manage something with argparse and others ...

    @classmethod
    def main_classm(cls):
        # do the job

    @staticmethod
    def main_stat():
        # do the job

entry_points = {
     'console_scripts': [
         'command1 = module:MyPackage.main_classm',
         'command2 = module:MyPackage.main_stat',
     ],
},