Я испытываю медленные ответы моего 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.
Спасибо,
Грег