Python单击多个命令-如何为已安装实用程序的多个命令创建cli
说明: 用户需要安装my utility并从中运行两个不同的命令:command_1和command_2 在setup.py中,我使用了以下语法: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
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有什么好处,至少我没有找到我想要的东西。可以详细介绍一下您的要求吗?从你的问题来看,听起来你需要一个脚本。你能解释一下为什么这个例子不是你需要的吗?事实上,这就是我需要的: