медленный ответ CLI, написанный с помощью Python Click - PullRequest
0 голосов
/ 09 ноября 2018

Я испытываю медленные ответы моего CLI, написанного с помощью Click 7.0 на Python 3.6.6 (в среде conda).

Требуется время, чтобы напечатать сообщение справки при вызове интерфейса командной строки, когда пакет был установлен с помощью pip (с помощью setuptools):

$ time cli
Usage: cli [OPTIONS] COMMAND [ARGS]...

  Welcome in the CLI!

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

real    0m0,523s
user    0m0,482s
sys     0m0,042s

Однако, я не получаю эту задержку при вызове CLI непосредственно из источника:

$ time python myproject/cli.py 
Usage: cli.py [OPTIONS] COMMAND [ARGS]...

  Welcome in the CLI!

Options:
  --version  Show the version and exit.
  --help     Show this message and exit.

real    0m0,088s
user    0m0,071s
sys     0m0,016s

Вот содержание myproject/cli.py:

import click

@click.group('cli', invoke_without_command=True)
@click.pass_context
@click.version_option(version='0.0.1', prog_name="test")
def cli(ctx):
    """
    Welcome in the CLI!
    """

    if ctx.invoked_subcommand is None:

        # show help if no option passed to cli
        if all(v==False for v in ctx.params.values()):
            click.echo(ctx.get_help())

if __name__ == '__main__':
    cli()

И setup.py настроен так:

setup(
    name=name,
    version=__version__,
    packages=find_packages(),  
    install_requires=install_requires,
    author=author,
    author_email=author_email,
    description=description,
    entry_points='''
        [console_scripts]
        cli=myproject.cli:cli
    ''',
    keywords=keywords,
    cmdclass=cmdclass,
    include_package_data=True,
)

Может ли кто-нибудь помочь мне с этим? Это действительно неудобно, чтобы получить такое отставание для CLI.

Спасибо, Грег

...