Python单击多个命令-如何为已安装实用程序的多个命令创建cli

Python单击多个命令-如何为已安装实用程序的多个命令创建cli,python,setup.py,Python,Setup.py,说明: 用户需要安装my utility并从中运行两个不同的命令:command_1和command_2 在setup.py中,我使用了以下语法: entry_points={ 'console_scripts': [ 'command_1 = src.cli:function_command_1', 'command_2 = src.cli:function_command_2', ] 用户执行后:pip

说明: 用户需要安装my utility并从中运行两个不同的命令:command_1和command_2

在setup.py中,我使用了以下语法:

    entry_points={
        'console_scripts': [
            'command_1 = src.cli:function_command_1',
            'command_2 = src.cli:function_command_2',
        ]
用户执行后:
pip install my_module
他可以在comand行中使用两个单独的命令

例如,用户可以运行:

command_1 --parameter_1='p1' --parameter_2='p2'
问题:

如果我的模块执行多个命令,而不是一个命令,该怎么办?例如:

my_module command_1 --parameter_1='p1' --parameter_2='p2'
my_module command_2 --parameter_1='p3' --parameter_2='p4'
...
my_module command_15 --parameter_1='p15'
有一种解决方案可以使用单击为应用程序提供不同的单个命令:

有没有人遇到过类似的挑战,如果没有,有什么建议


多亏了大家,我发现argparse可以这样做:

单击不直接提供此功能

更新:

事实上,它确实: 您必须在setup.py中使用click groups和point console命令来使用click命令归档,安装后您将拥有module命令和子命令-


您不想使用的原因是什么?是另一个可能更容易使用的选项。您是否有不使用外部软件包的要求?如果您想使用标准库执行此操作,您可以使用。这里有一些与您尝试做的事情类似的相关问题:Typer使用Click internaly,但我看不到Typer有什么好处,至少我没有找到我想要的东西。可以详细介绍一下您的要求吗?从你的问题来看,听起来你需要一个脚本。你能解释一下为什么这个例子不是你需要的吗?事实上,这就是我需要的: