vis*_*hal 9 python python-3.x python-click
我使用python中的click库构建了一个cli应用程序.没有关于如何调试命令的文档.
没有单击,它很容易在IDE中调试python文件,但是当我们使用click时,命令需要通过setup.py中的console_scripts设置运行.
Ste*_*uch 12
这没有很好的文档记录,但您可以直接调用命令函数,因此可以在调试器中运行代码:
示例代码:
import click
@click.command()
@click.option('--my_arg', default=1, help='a number')
def my_command(my_arg):
click.echo("my_arg='%d'" % my_arg)
if __name__ == '__main__':
my_command(['--my_arg', '3'])
Run Code Online (Sandbox Code Playgroud)
结果:
my_arg='3'
Run Code Online (Sandbox Code Playgroud)
小智 8
我迟到了几年,但以防万一其他人像我一样来这里寻找答案:
使用CliRunner.invoke()调用函数将返回带有“exc_info”属性的“Result”对象。您可以将其提供给traceback.print_exception(),如下所示:
runner = CliRunner()
result = runner.invoke(my_command)
traceback.print_exception(*result.exc_info)
Run Code Online (Sandbox Code Playgroud)