В настоящее время я работаю над созданием аргументов командной строки с помощью click. Я почти закончил исследование, и все работает нормально. Проблема в том, что я хочу использовать единственную опцию при работе с click.group()
, отличным от подкоманд.
Допустим, myCommand --version
, это должно напечатать версию моего приложения, но возникает ошибка с сообщением Error: Missing command.
Мой код:
import sys
import os as _os
import click
import logging
from myApp import __version__
@click.group()
@click.option('--version', is_flag=True, help="Displays project version")
@click.pass_context
def cli(context, version: bool):
if version:
print(__version__)
@cli.command()
@click.pass_context
def init(context):
click.echo(message="Starting initilization for the project" + str(context.obj))
@cli.command()
@click.pass_context
def install(context):
click.echo(message="Starting installing from the saved data")
Здесь --version работает, только когда я вызываю команду с параметром, подобным cli --version init
, но я хочу, чтобы это было cli --version
для печати версии.
Кто-нибудь может мне помочь с этим?