没有这个选项,点击6.6版本
No such option, click version 6.6
我定义了这个命令,但是,当我 运行 命令时,缺少的选项被正确传递(我可以看到值),但是我在终端中得到 Error: no such option: --missing
并且命令失败。
我到底做错了什么?下面的代码已从中删除了一些信息以使其不那么复杂,但逻辑是相同的。
@cli.group()
def migrator():
"""Migrator from existing HEPData System to new Version"""
@migrator.command()
@with_appcontext
@click.option('--missing', is_flag=True, help='...')
@click.option('--start', '-s', type=int, default=None, help='...')
@click.option('--end', '-e', default=None, type=int, help='...')
@click.option('--date', '-d', type=str, default=None, help='...')
def migrate(start, end, missing, date=None):
"""
Migrates all content...
"""
if missing:
ids = get_missing_records()
else:
ids = get_all_ids_in_current_system(date)
print("Found {} ids to load.".format(len(ids)))
if start is not None:
_slice = slice(int(start), end)
ids = ids[_slice]
print("Sliced, going to load {} records.".format(len(ids)))
print(ids)
load_files(ids)
我发现了问题。与 pocoo click 没有太大关系。这是因为 get_missing_records()
函数实际上是另一个 CLI 命令。 missing
参数随后也传递给此函数,而 get_missing_records()
方法显然对该参数一无所知。所以都解决了。
我定义了这个命令,但是,当我 运行 命令时,缺少的选项被正确传递(我可以看到值),但是我在终端中得到 Error: no such option: --missing
并且命令失败。
我到底做错了什么?下面的代码已从中删除了一些信息以使其不那么复杂,但逻辑是相同的。
@cli.group()
def migrator():
"""Migrator from existing HEPData System to new Version"""
@migrator.command()
@with_appcontext
@click.option('--missing', is_flag=True, help='...')
@click.option('--start', '-s', type=int, default=None, help='...')
@click.option('--end', '-e', default=None, type=int, help='...')
@click.option('--date', '-d', type=str, default=None, help='...')
def migrate(start, end, missing, date=None):
"""
Migrates all content...
"""
if missing:
ids = get_missing_records()
else:
ids = get_all_ids_in_current_system(date)
print("Found {} ids to load.".format(len(ids)))
if start is not None:
_slice = slice(int(start), end)
ids = ids[_slice]
print("Sliced, going to load {} records.".format(len(ids)))
print(ids)
load_files(ids)
我发现了问题。与 pocoo click 没有太大关系。这是因为 get_missing_records()
函数实际上是另一个 CLI 命令。 missing
参数随后也传递给此函数,而 get_missing_records()
方法显然对该参数一无所知。所以都解决了。